You need to enable JavaScript to run this app. 多类公开方案无效:遍历密码列表用PowerShell+7-Zip解压加密包求助
优惠活动
大模型
产品
解决方案
定价
更多

多类公开方案无效:遍历密码列表用PowerShell+7-Zip解压加密包求助

现有脚本的核心问题定位
  • 7-Zip命令行参数格式不匹配:7z 的解压逻辑中,目标输出目录必须携带 -o 前缀,原脚本将输出路径作为位置参数直接传递,会被程序识别为待解压的附加文件,完全无法实现定向输出
  • 密码参数语法错误:原代码编写的 -p"{password}" 既缺少变量引用必需的 $ 符号,也没有正确拼接变量值,实际传递给7z的密码是字面量字符串 {password},永远无法匹配有效密码
  • 运行结果判断逻辑失效:PowerShell 中执行原生命令时,$? 仅判断命令进程是否成功启动,不会捕获7z自身的运行退出码;7z 的实际运行结果需要读取 $LASTEXITCODE 变量判断(返回0代表执行成功,返回2代表密码错误、校验失败等运行类错误)
  • JSON解析逻辑偏差:JDownloader 的密码列表文件为嵌套结构,并非根节点直接存储密码数组,直接遍历JSON根节点会拿到对象属性而非单个可尝试的密码字符串
  • 循环退出逻辑反向:原脚本判断到单步解压失败就直接终止整个程序,完全不会遍历下一个候选密码;正确逻辑应为单密码尝试失败后自动跳过,依次遍历所有候选值,直到匹配到正确密码触发成功逻辑
  • 别名绑定稳定性不足:使用 Set-Alias 指向7z.exe时,部分PowerShell版本会出现参数解析偏移的问题,直接存储可执行文件全路径调用的可靠性更高
可直接运行的修正版脚本
# 定义7-Zip可执行文件全路径
$szExePath = Join-Path ${env:ProgramFiles} "7-Zip\7z.exe"
# 定义待解压的加密压缩包路径
$zipfilePath = "D:\NEU\CP 77 M2\CP.77_M2.part01.rar"
# 读取JDownloader密码列表文件,Raw模式避免多行读取导致的JSON解析失败
$pwdListRaw = Get-Content "C:\JDownloader v2.0\cfg\org.jdownloader.extensions.extraction.ExtractionExtension.passwordlist.json" -Raw
$pwdListObj = $pwdListRaw | ConvertFrom-Json
# 提取实际存储的密码数组(根据JDownloader实际文件结构调整对应键名,常规存储在passwords字段下)
$passwords = $pwdListObj.passwords
# 定义解压输出目录,取压缩包所在的父目录
$destinationUnzipPath = Split-Path $zipfilePath -Parent

# 遍历所有候选密码依次尝试
foreach ($password in $passwords) {
    Write-Host "正在尝试候选密码: $password"
    # 调用7z执行解压,关闭冗余输出避免日志干扰
    & $szExePath x $zipfilePath "-o$destinationUnzipPath" "-p$password" -y -bso0 -bsp0
    
    # 根据7z实际退出码判断执行结果
    if ($LASTEXITCODE -eq 0) {
        Write-Host "解压成功,匹配密码为: $password"
        [console]::beep(500,300)
        # 解压成功后终止遍历
        break
    }
}
关键参数说明
  • -y:对7z弹出的所有确认提示自动选择“是”,避免程序卡在交互等待环节
  • -bso0 -bsp0:关闭标准输出和进度条日志,减少冗余信息干扰调试
  • "-o$destinationUnzipPath":将输出目录参数和-o前缀拼接为整体字符串,规避路径包含空格时的参数拆分错误
  • "-p$password":将密码参数和-p前缀拼接为整体字符串,规避密码本身包含空格、特殊符号时的参数解析错误

内容的提问来源于stack exchange,提问作者Dennis Kassel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 06:15:06