吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5965|回复: 38
上一主题 下一主题
收起左侧

[讨论] 一步步手撸一个压缩包密码爆破的批处理脚本

[复制链接]
跳转到指定楼层
楼主
hoochanlon 发表于 2023-4-18 12:14 回帖奖励
如题,原因主要是嫌各网站有时附带压缩密码,需要额外记忆,以及事后再找压缩包解压又想不起来密码,找起密码太费劲。

草稿 v0.0.1 如下,慢慢打磨。

[Asm] 纯文本查看 复制代码
[url=home.php?mod=space&uid=251666]@rem[/url] 解压,带密码与不带密码,此外解压密码不正确是无法输出正常内容的。
@REM "%ProgramFiles%"\7-Zip\7z x C:\Users\nice\Desktop\问题管理.rar  -o"C:\Users\nice\Desktop\"
@REM "%ProgramFiles%"\7-Zip\7z x C:\Users\nice\Desktop\问题管理.rar  -o"C:\Users\nice\Desktop\" -p1234 

@REM 7z只能实现7z、zip之类的打包加密
@REM "%ProgramFiles%"\7-Zip\7z a "C:\Users\nice\Desktop\问题管理.rar" C:\Users\nice\Desktop\问题管理.pdf -p1234

@REM 验证压缩包密码
@REM "%ProgramFiles%"\7-Zip\7z t -p1234 C:\Users\nice\Desktop\wifi密码本.rar


@REM 启用延迟变量
setlocal EnableDelayedExpansion

@REM 设置7z为常用变量
set used7z="%ProgramFiles%"\7-Zip\7z.exe

@REM 看返回值验证密码对错
"%ProgramFiles%"\7-Zip\7z t -p12345 C:\Users\nice\Desktop\wifi密码本.rar
if %errorlevel% EQU 0 (
    echo 对。
) else (
    echo 错。
)
endlocal

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
debug_cat + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 2#
jidesheng6 发表于 2023-4-18 13:43
你也许需要这个,不过都是本地存储的,有丢失的风险
来自 #
 楼主| hoochanlon 发表于 2023-4-18 14:24 |楼主

草稿 v0.0.2

新增:加入密码本测试,网络上常见的密码,以及个人常用密码

草稿 v0.0.2 源码

@REM 启用延迟变量
setlocal EnableDelayedExpansion

@REM 设置7z为常用变量
set used7z="%ProgramFiles%"\7-Zip\7z.exe
set "passwd_list=C:\Users\nice\Desktop\rarpasswd.txt"
set "has_passwd_rar=C:\Users\nice\Desktop\wifi密码本.rar"

rem 遍历密码列表并尝试打开文件
for /f "delims=" %%a in (%passwd_list%) do (
  echo 测试 "%%a"...
  "C:\Program Files\7-Zip\7z.exe" t -p"%%a" "%has_passwd_rar%" >nul 2>&1
  if !errorlevel! equ 0 (
    echo 找到: "%%a"
    exit /b
  )
)

echo 没找到。

pause

todo

  • [ ]  在线密码本测试
  • [ ] 接收用户终端输入
  • [ ] 写个简单的计时器
来自 #
bamboowalker 发表于 2023-4-18 16:50
本帖最后由 bamboowalker 于 2023-4-18 16:55 编辑

先编个密码字典,
压缩文件的时候随便用一个字典中的密码,
然后就不用记着哪个压缩包用的什么密码了,
用这个脚本就可以了。
来自 #
 楼主| hoochanlon 发表于 2023-4-18 17:59 |楼主

草稿 v0.0.3

  • 新增curl远程调用密码本
  • 发现301重定向错误(https写成http的原因,实际因素繁杂·,排错漏打字母)
  • 终端接收字符串
  • 美化格式
@echo off
IF NOT EXIST "C:\Users\%USERNAME%\Downloads\rarpasswd.txt" > nul (curl -o C:\Users\%USERNAME%\Downloads\rarpasswd.txt https://ghproxy.com/https://raw.githubusercontent.com/hoochanlon/ihs-simple/main/d-txt/rarpasswd.txt)

@REM 启用延迟变量
setlocal EnableDelayedExpansion

echo/
@REM 设置7z为常用变量
set used7z="%ProgramFiles%"\7-Zip\7z.exe
set "passwd_list=C:\Users\%USERNAME%\Downloads\rarpasswd.txt"
@REM set "has_passwd_rar=C:\Users\nice\Desktop\wifi密码本.rar"
set /p input=请将文件路径复制到终端: 

echo/
echo ---------开始爆破-------------
echo/

rem 遍历密码列表验证
for /f "delims=" %%a in (%passwd_list%) do (
  echo 正在爆破中,密码正在快速校验:"%%a"
  "C:\Program Files\7-Zip\7z.exe" t -p"%%a" "%input%" >nul 2>&1
  if !errorlevel! equ 0 (
    echo/
    echo ---------最终结果-------------
    echo/
    echo 正确密码是: "%%a"
    @REM 找到即退出
    exit /b
  )
)

echo 没找到。
来自 #
 楼主| hoochanlon 发表于 2023-4-18 18:07 |楼主
debug_cat 发表于 2023-4-18 14:50
大佬应该分享一个密码本,这种暴力枚举都是看密码库和时间

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
debug_cat + 1 + 1 谢谢@Thanks!

查看全部评分

来自 #
 楼主| hoochanlon 发表于 2023-4-18 20:35 |楼主

在线测试,效果图:

curl -Os https://ghproxy.com/https://raw.githubusercontent.com/hoochanlon/ihs-simple/main/d-bat/seven_z_sensei.bat&&call seven_z_sensei.bat

本地测试,效果图

附源码: https://github.com/hoochanlon/ihs-simple/blob/main/d-bat/seven_z_sensei.bat


@echo off
@REM 启用延迟变量
setlocal EnableDelayedExpansion
@REM 利用python获取时间,屏蔽报错信息
echo\
python -c "import datetime;now=datetime.datetime.now();print('起始时间是:', now)" 2>nul > rar_time_log.txt

@REM 判断是否存在密码本,没有则下载
IF NOT EXIST "C:\Users\%USERNAME%\Downloads\rarpasswd.txt" > nul (curl -o C:\Users\%USERNAME%\Downloads\rarpasswd.txt https://ghproxy.com/https://raw.githubusercontent.com/hoochanlon/ihs-simple/main/d-txt/rarpasswd.txt)

echo/
@REM 设置7z为常用变量
set used7z="%ProgramFiles%"\7-Zip\7z.exe
set "passwd_list=C:\Users\%USERNAME%\Downloads\rarpasswd.txt"
@REM set "has_passwd_rar=C:\Users\nice\Desktop\wifi密码本.rar"
set /p input=请将文件路径复制到终端: 

echo/
echo ---------开始爆破-------------
echo/

rem 遍历密码列表验证
for /f "delims=" %%a in (%passwd_list%) do (
  echo 正在爆破中,密码正在快速校验:"%%a"
  "C:\Program Files\7-Zip\7z.exe" t -p"%%a" "%input%" >nul 2>&1
  if !errorlevel! equ 0 (
    echo/
    echo ---------最终结果-------------
    echo/
    type rar_time_log.txt
    python -c "import datetime;other_time=datetime.datetime.now();print('现在时间为:', other_time)" 2>nul
    echo/
    @REM 找到即退出
    echo 正确密码是: "%%a"
    echo/
    exit /b
  )
)

echo\
echo ---------------------------------------------
echo\
type rar_time_log.txt
python -c "import datetime;other_time=datetime.datetime.now();print('现在时间为:', other_time)" 2>nul
echo\
echo 没找到。
echo\

@REM ----------------------- 草稿 -----------------------------------------

@REM  解压,带密码与不带密码,此外解压密码不正确是无法输出正常内容的。
@REM "%ProgramFiles%"\7-Zip\7z x C:\Users\nice\Desktop\问题管理.rar  -o"C:\Users\nice\Desktop\"
@REM "%ProgramFiles%"\7-Zip\7z x C:\Users\nice\Desktop\问题管理.rar  -o"C:\Users\nice\Desktop\" -p1234

@REM 7z只能实现7z、zip之类的打包加密
@REM "%ProgramFiles%"\7-Zip\7z a "C:\Users\nice\Desktop\问题管理.rar" C:\Users\nice\Desktop\问题管理.pdf -p1234

@REM 验证压缩包密码
@REM "%ProgramFiles%"\7-Zip\7z t -p1234 C:\Users\nice\Desktop\wifi密码本.rar

@REM 启用延迟变量
@REM setlocal EnableDelayedExpansion

@REM 设置7z为常用变量
@REM set used7z="%ProgramFiles%"\7-Zip\7z.exe

@REM 看返回值验证密码对错
@REM "%ProgramFiles%"\7-Zip\7z t -p12345 C:\Users\nice\Desktop\wifi密码本.rar
@REM if %errorlevel% EQU 0 (
@REM     echo 对。
@REM ) else (
@REM     echo 错。
@REM )

@REM 加载密码本
@REM https://github.com/hoochanlon/ihs-simple/raw/main/d-txt/rarpasswd.txt
@REM https://statically.io/convert/
@REM http 会成301状态码,注意是https
来自 #
 楼主| hoochanlon 发表于 2023-4-18 21:09 |楼主
本帖最后由 hoochanlon 于 2023-4-18 21:23 编辑
遇到的问题
  • 选择7z,方便在公司用,有的公司会有正版检测软件、水印、禁网,措施很多的,这里就不展开了。
  • 执行计时后,最后回显的问题 ;👉 type xxx.txt
  • 301 重定向;👉 上回帖已说明
  • 在线密码本调用;👉 GitHub repo raw ,   curl
  • 针对没有python环境的朋友,忽略计时统计功能; 👉  2>nul
  • Windows 的 echo 如何打换行; 👉 echo\
其他想说的

为什么不用软件

我个人习惯,压缩包基本不设密码,只有网站下载压缩包,经常遇到密码,找来找去很麻烦。

软件不方便我跨平台、麻烦,软件本地安装,密码字典也是本地的,那天一重装,又啥都没有了。额外保存到网盘,还是麻烦。

至于写个shell的问题,虽说自己的电脑是mac,但遇到压缩密码情况不多,后续随缘更新。

时间统计

没有选择 批处理之家- [已解决]批处理怎样记录每次运行所需的时间? 作为计时方案,是我觉得批处理这块不好实现。batch也没有shell         time 这样的语法执行后计时,那么用python显示执行前,执行后的时间就好了。

3#
Rzzz820 发表于 2023-4-18 12:18
感谢分享
4#
百年抉择 发表于 2023-4-18 12:28
我回头试试,正有一个忘记密码的压缩包呢
5#
ThemanRonin 发表于 2023-4-18 12:29
这个就是暴力破解吗,速度咋样一秒能多少次
6#
132rourou 发表于 2023-4-18 13:05
感谢分享,好多压缩包的密码早都忘了,不知道还有么有机会打开
头像被屏蔽
7#
yyb1813 发表于 2023-4-18 13:06
提示: 作者被禁止或删除 内容自动屏蔽
8#
Rueng6009 发表于 2023-4-18 13:28
厉害,那么简单啊的代码就可以爆破密码!
9#
lxw3254 发表于 2023-4-18 14:00
不懂就问,这个怎么使用
10#
QingTianGG 发表于 2023-4-18 14:22
用 ARCHPR  不是更好么
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-27 13:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表