【shell】压缩包密码暴破脚本
作者:小编日期:2023-04-20浏览:2310分类:娱乐休闲
本来一开始是打算用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
相关文章
- 05-03 电脑系统 Windows 11 Pro 22631 5262 稳定精简 极限版 二合一 - 小修 [1.59G]最新版
- 05-02 PC小汪音乐无损音乐下载器_v4_Green绿色版
- 04-30 《女神氪金系统》开启末世养成之旅 解锁多元女神互动剧情
- 04-26 EPIC周免游戏获取工具
- 04-26 csgo饰品交易网dmarket物品获取查看工具
- 04-25 王者荣耀熊猫6.0直装辅助破解【已修复180】
- 04-25 Android+Windows 植物大战僵尸金铲铲版
- 04-25 饿狼传说 群狼之城|豪华中文|Build.18097051+预购特典+季票+全DLC-支持手柄|解压即撸|
- 04-21 PC电脑酷我音乐V12.0最新破解版,登录畅享所有付费特权!
- 04-21 小牛AI视频翻译(YouTube 油管 搬运)
- 04-14 瓦学弟来分享自己的瓦ai了,精准自瞄开枪
- 04-13 【PC版】魔兽3 v2.0.1.22498 免安装中文版【29.5G】
取消回复欢迎你发表评论:
- 协助本站优化一下
- 最近发表
- 1星空图床系统1.1.0源码
- 2首涂第四十四套苹果cmsv10模板
- 32025自媒体实战营,Deepseek、即梦 AI、Midjourney系统教程及案例实操
- 4淘宝直接领1亓饿了么叠加神券
- 5饿了么5人组队必得10亓红包
- 6饿了么医药领3亓券0亓撸实物
- 7京东外卖部分人领4-3亓叠加券
- 8京东领取15-10亓外卖补贴券
- 9京东外卖领11-10亓超级补贴券
- 10揭秘靠谱副业玩法,月入过万很难吗
- 11Simple Live v1.8.3 开源聚合直播 :支持哔哩哔哩 / 虎牙 / 斗鱼 / 抖音
- 12鲸鱼搜索 V25.05.01.23 极简磁力搜索工具
- 13赤拳配音(解锁会员)-Ai主播配音软件
- 14电脑系统 Windows 11 Pro 22631 5262 稳定精简 极限版 二合一 - 小修 [1.59G]最新版
- 15【内置4k源】闪映剧场v1.80修改去广告版,全网影视免费看
Copyright© XGW9.COM版权所有〖小庚资源网〗
〖恒创科技〗为本站提供专业云计算服务
本站发布的内容来源于互联网,如果有侵权内容,请联系我们删除!E-mail:xgzyw6@outlook.com
关于我们|我要投稿|免责声明|XML地图
暂无评论,来添加一个吧。