吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 799|回复: 13
收起左侧

[经验求助] pdf需要打开密码,有密码本,求一个批量解密的办法或者工具

[复制链接]
zxyly 发表于 2024-9-3 16:45
25吾爱币
某些杂志下载下来是一个pdf文件压缩包,每2页是一个单独的pdf文件,但是打开要密码,压缩包里有密码本,有没有批量去除密码的办法,一个个输入实在太恐怖了,求软件或者办法,
打开效果如图:
仅作参考,实际文件比这大多。

最佳答案

查看完整内容

借助第三方工具使用 powershell 来解决: 理解需求: 批量操作: 对多个PDF文件进行统一的加解密操作。 密码本: 使用提供的文本文件作为密码源。 命令行: 通过命令行的方式实现自动化操作。 推荐工具: qpdf: 一个功能强大的开源PDF处理工具,支持多种平台,包括Windows。 PowerShell: Windows自带的脚本语言,可以方便地调用qpdf并实现自动化。 安装qpdf: 下载: 从qpdf官网下载适合Windows的版本。 安装: 按 ...

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

Yathon 发表于 2024-9-3 16:45
借助第三方工具使用 powershell 来解决:

理解需求:

批量操作: 对多个PDF文件进行统一的加解密操作。
密码本: 使用提供的文本文件作为密码源。
命令行: 通过命令行的方式实现自动化操作。
推荐工具:

qpdf: 一个功能强大的开源PDF处理工具,支持多种平台,包括Windows。
PowerShell: Windows自带的脚本语言,可以方便地调用qpdf并实现自动化。
安装qpdf:

下载: 从qpdf官网下载适合Windows的版本。
安装: 按照安装向导完成安装。确保将qpdf的可执行文件路径添加到系统环境变量中,以便在命令行中直接调用。

[PowerShell] 纯文本查看 复制代码
# 设置密码本路径和输出目录
$passwordFile = "passwords.txt"
$outputDirectory = "output_pdfs"

# 读取密码本
$passwords = Get-Content $passwordFile

# 获取当前目录下的所有PDF文件
$pdfFiles = Get-ChildItem -Filter *.pdf

foreach ($pdf in $pdfFiles) {
    # 尝试用每个密码解密
    foreach ($password in $passwords) {
        try {
            qpdf --decrypt "$password" "$pdf.tmp" "$pdf"
            Write-Host "Decrypted $($pdf.Name) with password: $password"
            break
        } catch {
            # 如果解密失败,创建临时文件并继续尝试下一个密码
            $pdf.CopyTo("$pdf.tmp")
        }
    }

    # 如果所有密码都尝试失败,则使用第一个密码加密
    if (Test-Path "$pdf.tmp") {
        qpdf --encrypt "$passwords[0]" "$pdf.tmp" "$pdf"
        Write-Host "Encrypted $($pdf.Name) with password: $($passwords[0])"
        Remove-Item "$pdf.tmp"
    } else {
        Write-Host "Decrypted $($pdf.Name)"
    }
}
lisongmei 发表于 2024-9-3 18:27
这是python单个解密,批量解密就循环一下,供参考(需pip install pycryptodome)。
[Python] 纯文本查看 复制代码
import PyPDF2

# 打开加密的 PDF 文件
with open('a.pdf', 'rb') as input_file:
    # 创建 PDF 阅读器对象
    reader = PyPDF2.PdfReader(input_file)

    # 解密 PDF 文件
    if reader.is_encrypted:
        reader.decrypt('123456')

    # 创建 PDF 写入器对象
    writer = PyPDF2.PdfWriter()

    # 将所有页面添加到写入器对象
    for page_num in range(len(reader.pages)):
        writer.add_page(reader.pages[page_num])

    # 将无密码的 PDF 文件保存为新的文件
    with open('b.pdf', 'wb') as output_file:
        writer.write(output_file)

print("PDF 文件已解密并另存为 b.pdf")
xxkz 发表于 2024-9-3 19:16
找一个pdf解密软件,然后把已知密码作为字典去解密不好么?
zj23308 发表于 2024-9-4 03:35
PDF密码删除  https://www.123pan.com/s/7xBUVv-gwim.html
 楼主| zxyly 发表于 2024-9-4 16:10
Yathon 发表于 2024-9-3 18:03
借助第三方工具使用 powershell 来解决:

理解需求:

感谢大佬提供的思路,我都需求确实是这样,确定正确安装了,运行powshell的时候显示:qpdf unknown argument,提供密码本后,所有运行只会载入第一个密码,无法解密,不知道为啥,纯小白。
 楼主| zxyly 发表于 2024-9-4 16:11
lisongmei 发表于 2024-9-3 18:27
这是python单个解密,批量解密就循环一下,供参考(需pip install pycryptodome)。
[mw_shl_code=python,tr ...

感谢回复,这个对我上手难度太大,确实搞不定
 楼主| zxyly 发表于 2024-9-4 16:16
xxkz 发表于 2024-9-3 19:16
找一个pdf解密软件,然后把已知密码作为字典去解密不好么?

感谢分享思路,确实是一个好的方法,翻遍了论坛和网络在线版,下了不下10个app,只有Advanced PDF Password Recovery 5.06 这个跑字典比较好用,但是可惜的是不能批量操作,还是得一个一个添加来,不知大佬有没有推荐。
 楼主| zxyly 发表于 2024-9-4 16:17
zj23308 发表于 2024-9-4 03:35
PDF密码删除  https://www.123pan.com/s/7xBUVv-gwim.html

感谢回复,但这个确实解不了打开密码。
xxkz 发表于 2024-9-4 16:47
zxyly 发表于 2024-9-4 16:16
感谢分享思路,确实是一个好的方法,翻遍了论坛和网络在线版,下了不下10个app,只有Advanced PDF Passwor ...

这个我还真没有,琢磨着用按键精灵之类的软件,把批量重复的操作交给软件看成不成。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-16 00:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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