|
本帖最后由 meibf 于 2023-3-28 21:29 编辑
以前没写过dos批处理,这段程序基本上是“chatgpt”帮着编的,算是个半成品吧,自己整合、测试了几天,它勉强能工作了!现分享给需要的朋友 。
- @echo off
- setlocal enabledelayedexpansion
- set dxbook=%*
- set decrypt="D:\soft\7z\7z.exe"
- set dxpass="D:\读秀密码表\dxpass.txt"
- set result="D:\book\加密读秀书和密码\book.txt"
- set pdg="000001.pdg"
- for /f "usebackq delims=" %%i in (%dxpass%) do (
- %decrypt% t -p"%%i" %dxbook% %pdg% -r 2>nul 1>nul
- if !errorlevel! == 0 (
- echo %dxbook% "%%i">> %result%
- echo 密码是:“%%i”
- goto end
- )
- )
- echo 密码没有找到……
- :end
- pause
复制代码
这段批处理是通过调用7zip的命令行版本7z.exe来工作的,理论上只要是7zip能支持的压缩格式都行。工作原理就是用给定的密码表去测试加密压缩包,直到找到正确的密码或密码表全部跑完为止。它每次只能测试一个压缩包的密码,不会自动解压缩,所以效率是非常低的,优点么就是没病毒没后门。
用前准备:
一、电脑中需要安装有7zip压缩软件,也可以在7zip官网下载安装程序后,把程序里的7z.exe和7z.dll解压缩出来放在同一个目录中,批处理只需要这两个文件。
二、准备一份密码表,书园茶社、新手区发布过不少密码,都收集起来应该够用了,密码表要保存成编码为ANSI的文本文件,格式为每行一个密码。
三、新建一个扩展名为bat的批处理文件,把上面的代码复制进来,然后修改第4到7行双引号中的内容。
- 第4行,7z.exe的路径,按照自己电脑里的实际情况去修改。
- 第5行,密码表的路径,按照自己电脑里的实际情况去修改。
- 第6行,自己可以随便选个目录和文件名,这里保存每次找到的密码和对应的压缩包名,便于以后进一步处理。
- 第7行,读秀压缩包里一般都会有000001.pdg,如果要解密的压缩包内无此文件,就得换其它存在的文件。
使用方法:
第一种:直接拖动加密压缩包到批处理文件上。
第二种:集成右键菜单里(Win7可以,高版本的Windows未知)。
- 打开“运行”(Win+R)或直接在资源管理器中,输入“shell:sendto”并按回车键,打开“SendTo”目录,把批处理文件或者它的快捷方式保存于此。
- 加密压缩包上点右键,点击右键菜单中的“发送到(N)”,选中批处理文件即可。
已知问题:
- 当压缩包没有密码或者没找到压缩包内指定的文件名时,会直接输出密码表第一行的密码,这显然是不对的。对此,密码表第一行可以不要放密码,写点其它东西做为提示,比如我写的是“===不是密码,出错了===”。
- 如果是7zip不认识的文件,批处理会一直工作到密码表全部跑完为止。
|
评分
-
2
查看全部评分
-
|