【shell】压缩包密码暴破脚本
作者:小编日期:2023-04-20浏览:2620分类:娱乐休闲
本来一开始是打算用python的,但一想python写保存路径,到最后还是放弃了,因为python的目录写法,终究逃不掉 Windows c:/xxx/、Mac ~/xxxx/ ,这就造成了平台上的不适配,那我还不如索性写两份体验体验。
谈谈这次遇到的小问题,主要问题其实在注释上已经说明了,不过还是单拿出了,方便观看与讨论:
发现
brew install p7zip > /dev/null 2>&1运行效率较低,也算是个无心之举。跑代码测试的时候,我发现这种写法,明显感觉比if慢好多,所以就pass掉了。在Mac上,7z并不支持验证rar压缩包密码;Mac下面的rar,也不支持zip的密码验证。这个是p7zip与rar(两者都是 brew 安装)的实验结论。
密码暴破没成功,没有输出echo,主要是自己逻辑上出现了问题:break之后又执行了常规的输出,定位代码处
# echo "$?",需要外部使用变量来固化状态值,再做判断(类似批处理的延迟变量)。
细节方面就是:dos2unix,关于LF格式和CRLF格式的TXT文件了,统一处理,问题不大。
代码本地测试效果
在线测试效果图,顺带还发现了个有趣的现象:特权提升的$username,由自己的本地用户名,变成了“root”
与Windows版本的效果
整体来说,由于系统的差异明显,以及batch、shell的实现各有差异,殊途同归了,算是。可以粗糙理解为类似《富士山下》、《爱情转移》粤语歌与普通话的两种唱法。
附源码:https://github.com/hoochanlon/ihs-simple/blob/main/d-shell/7z_rar_sensei.sh
# 实验
## brew install p7zip > /dev/null 2>&1 运行效率较低,大概有2~3秒不等,if算了
## 在Mac上,7z并不支持验证rar压缩包密码;Mac下面的rar,也不支持zip的密码验证。
## 网上txt为CRLF的问题,dos2unix搞定。
## 密码没找到,没输出,排查问题如下:
### $0 用于存储上一个命令的退出状态。当一个命令成功执行时,它的退出状态为 0,否则为非零值。
### 直接不在外层初始化flag,容易算数异常,推测是作用域问题。
# 缺什么就安装什么
[ ! -e $(which rar) ] && brew install rar
[ ! -e $(which 7z) ] && brew install p7zip
[ ! -e $(which dos2unix) ] && brew install dos2unix
# 不存在就下载密码本
if [ ! -f ~/Downloads/rarpasswd.txt ]; then
curl -o ~/Downloads/rarpasswd.txt https://ghproxy.com/https://raw.githubusercontent.com/hoochanlon/ihs-simple/main/d-txt/rarpasswd.txt
fi
# 保存密码本为基本路径格式
# 无法输出用户名 // ,储存变量结果后,再输出 /Users/<用户名> 正常。
username=$USER
passwd_txt="/Users/$username/Downloads/rarpasswd.txt"
# CRLF文本换成LF文本
dos2unix $passwd_txt >/dev/null 2>&1
# has_passwd_rar="/Users/chanlonhoo/Desktop/BlackFell.zip"
echo -e "\n"
read -p "将压缩包文件拖入到终端: " has_passwd_rar
# 打上flag,保存break状态码,固化存储。
found_passwd_tag_num=0
unrar_passwd_find() {
# 遍历密码文件中的每一行密码
while read password; do
# 尝试使用当前密码解压缩压缩包
unrar t -p$password "$has_passwd_rar" >/dev/null 2>&1
# 检查解压缩命令的退出码
if [ $? -eq 0 ]; then
# 如果退出码为 0,说明密码正确,输出提示信息并退出循环
echo -e "\n密码是: $password \n"
# flag
found_passwd_tag_num=1
break
fi
done <$passwd_txt
# echo "$?"
if [ $found_passwd_tag_num -ne 1 ]; then
echo -e "\n没找到正确的密码。\n"
fi
}
7z_passwd_find() {
# 遍历密码文件中的每一行密码
while read password; do
# 尝试使用当前密码解压缩压缩包
7z t -p$password "$has_passwd_rar" >/dev/null 2>&1
# 检查解压缩命令的退出码
if [ $? -eq 0 ]; then
# 如果退出码为 0,说明密码正确,输出提示信息并退出循环
echo -e "\n密码是: $password \n"
# flag
found_passwd_tag_num=1
break
fi
done <"$passwd_txt"
if [ $found_passwd_tag_num -ne 1 ]; then
echo -e "\n没找到正确的密码。\n"
fi
}
# 判断文件名后缀是否包含rar
if [[ ${has_passwd_rar##*.} == "rar" ]]; then
unrar_passwd_find
else
7z_passwd_find
fi相关文章
- 01-31 AI脸部表情模仿 AI动作模仿 AI动作迁移 替换视频背景 AI舞蹈视频
- 01-29 阿尔宙斯传说手游-3D大世界宝可梦自由捕捉经典手游
- 01-21 虚拟数字卡券一手货源一键比价软件工具
- 12-29 AI翻唱replay汉化软件中文版模型rvc安装包win/人声伴奏分离
- 12-28 Steam入库工具 v1.0.0 - 免费入库任意Steam游戏/DLC
- 12-11 《萌萌夹击》中文版
- 12-11 超自然行动组高清全套小抄全新含宝藏房持续更新简单易操作
- 11-24 vMix28无限制版本 vmix无限使用稳定版有教程 直播录播导播软件
- 11-18 隐蔽摄像机 Alibi 0.5.3
- 11-07 战斗吧精灵大世界九世代《宝可梦》手游,自由捕捉探索
- 11-04 小红书获客软件:这款小红书综合工具如何让精准流量主动找你?
- 10-12 多平台直播聚合平台 simple_live 1.9.4
取消回复欢迎你发表评论:
- 协助本站优化一下
- 最近发表
- 1限时开放微信福利群聊 定时发放实物等福利
- 2三款游戏全自动搬砖玩法,收益稳定月入1W,支持多号矩阵批量放大,零经验小白也可以操作【揭秘】
- 3AI卖货最新教学,每天十几分钟,单账号轻松日入500+
- 4美团、携程、飞猪截图项目,一部手机在家做,不限接单量,一分钟三单,一小时120,一天500+
- 5公众号老年哲学鸡汤赛道,一个月涨粉3千,单篇阅读10万+(详细操作教程)
- 6无他相机 v7.0.2.162 去广告解锁高级版
- 7微信支付抽多笔立减共可减5亓
- 8淘宝闪购抽吃货豆兑18亓免单
- 9【风铃动漫】1.0.7 各题材资源丰富 无广告
- 10免费听书王V3.3.1 最新免费听书应用
- 11【优优兔影视】4.3.0 精选优质影视资源 清晰无广告
- 12【免费淘小说】10.5.2 汇聚全网小说资源 无广告
- 13小猪4K_3.1.0 提供海量4K超高清影视资源
- 14 【眼福】网红可可裸拍舞蹈小庚网专属福利 前10送实物福利
- 15AI小红书虚拟电商 标准化全流程 轻松月入过万
Copyright© XGW9.COM版权所有〖小庚资源网〗
〖恒创科技〗为本站提供专业云计算服务
本站发布的内容来源于互联网,如果有侵权内容,请联系我们删除!E-mail:xgzyw6@outlook.com
关于我们|我要投稿|免责声明|XML地图















暂无评论,来添加一个吧。