共计 2234 个字符,预计需要花费 6 分钟才能阅读完成。

本来一开始是打算用 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 文件了,统一处理,问题不大。

代码本地测试效果

【shell】压缩包密码暴破脚本

在线测试效果图,顺带还发现了个有趣的现象:特权提升的 $username,由自己的本地用户名,变成了“root”

【shell】压缩包密码暴破脚本

【shell】压缩包密码暴破脚本

与 Windows 版本的效果

【shell】压缩包密码暴破脚本

整体来说,由于系统的差异明显,以及 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


新软师兄 » 【shell】压缩包密码暴破脚本
50T免费网盘资源大集合【持续更中~~~~】:点击查看

dase kand pornhan.mobi xvideo desi gay pcso 2pm result today pinoytvfriends.com where i can watch bad romeo كلام فى النيك wfporn.com قصص محارم حديثة busporn porngugu.mobi indian sexx vedios sex ka video noticieroporno.com himachal pradesh sex com
nero hentai hentaitgp.com ламия хентай www.mom xxx.com alohaporn.me sahara knite mature fucking tubepatrolporn.com bhabi sex indian girl sex gotporn.mobi xnxx family strocks ang probinsyano july 20 2022 full episode youtube pilipinoteleserye.com ano ang pambansang sasakyan ng pilipinas
احلي سكس محارم pornxporn.org نيك فلاحى multi.xnxx alohaporn.net telugu sex chart سكس قصيرات arabysexy.org نيك نقاب www assames sex com umora.info desi sexy bhabi 8teenx bukaporn.com india hot sex videos