<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>密码恢复 on 开发者巴沙</title><link>http://dosoos.github.io/blog_basha/tags/%E5%AF%86%E7%A0%81%E6%81%A2%E5%A4%8D/</link><description>Recent content in 密码恢复 on 开发者巴沙</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 21 May 2026 10:00:00 +0800</lastBuildDate><atom:link href="http://dosoos.github.io/blog_basha/tags/%E5%AF%86%E7%A0%81%E6%81%A2%E5%A4%8D/index.xml" rel="self" type="application/rss+xml"/><item><title>Word/Excel文档密码忘记了？加密Office文件恢复方法大全（2026最新）</title><link>http://dosoos.github.io/blog_basha/p/word/excel%E6%96%87%E6%A1%A3%E5%AF%86%E7%A0%81%E5%BF%98%E8%AE%B0%E4%BA%86%E5%8A%A0%E5%AF%86office%E6%96%87%E4%BB%B6%E6%81%A2%E5%A4%8D%E6%96%B9%E6%B3%95%E5%A4%A7%E5%85%A82026%E6%9C%80%E6%96%B0/</link><pubDate>Thu, 21 May 2026 10:00:00 +0800</pubDate><guid>http://dosoos.github.io/blog_basha/p/word/excel%E6%96%87%E6%A1%A3%E5%AF%86%E7%A0%81%E5%BF%98%E8%AE%B0%E4%BA%86%E5%8A%A0%E5%AF%86office%E6%96%87%E4%BB%B6%E6%81%A2%E5%A4%8D%E6%96%B9%E6%B3%95%E5%A4%A7%E5%85%A82026%E6%9C%80%E6%96%B0/</guid><description>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>Office 文档加密是职场中最常见的数据保护手段。根据微软的统计，全球有超过 3 亿用户每天使用 Office 办公套件。但当你给一份重要的 Word 合同或 Excel 报表设置了打开密码，过了一段时间却怎么也想不起来时，那种焦虑感相信很多人都体会过。&lt;/p>
&lt;p>本文将系统介绍 Office 文档密码恢复的各种方法，覆盖 Word（.doc/.docx）、Excel（.xls/.xlsx）和 PowerPoint（.pptx）三大格式。&lt;/p>
&lt;h2 id="先搞清楚office-文档的两种密码">先搞清楚：Office 文档的两种密码&lt;/h2>
&lt;p>在开始之前，需要了解 Office 文档有两种不同类型的密码，破解难度完全不同：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>密码类型&lt;/th>
&lt;th>说明&lt;/th>
&lt;th>破解难度&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>打开密码&lt;/strong>&lt;/td>
&lt;td>打开文件时需要输入&lt;/td>
&lt;td>较高（AES-128/256 加密）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>修改密码&lt;/strong>&lt;/td>
&lt;td>打开可以查看，编辑时需要&lt;/td>
&lt;td>极低（可以绕过）&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>如果是&amp;quot;修改密码&amp;quot;，恭喜你，基本不需要破解。用 WPS 或 LibreOffice 打开文件，另存为新文件，修改密码就会丢失。本文主要讨论的是更难处理的&amp;quot;打开密码&amp;quot;。&lt;/p>
&lt;h2 id="office-文档加密算法的演变">Office 文档加密算法的演变&lt;/h2>
&lt;p>了解加密算法有助于判断破解难度：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Office 97-2003 (.doc/.xls)&lt;/strong>：使用 RC4 加密（40-bit 或 56-bit），存在已知漏洞，&lt;strong>破解相对容易&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Office 2007 (.docx/.xlsx)&lt;/strong>：使用 AES-128 加密，安全性大幅提升&lt;/li>
&lt;li>&lt;strong>Office 2010+ (.docx/.xlsx)&lt;/strong>：使用 AES-128 并增加了迭代次数（100,000 次 SHA-1），&lt;strong>破解速度慢很多&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Office 2016+&lt;/strong>：默认使用 AES-256，是目前最强的加密标准&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>💡 &lt;strong>小贴士&lt;/strong>：如果你的文件是 .doc 或 .xls 老格式，破解速度会比 .docx 快几十倍。&lt;/p>
&lt;/blockquote>
&lt;h2 id="方法一msoffcrypto-toolpython-库推荐入门">方法一：msoffcrypto-tool（Python 库，推荐入门）&lt;/h2>
&lt;p>&lt;a class="link" href="https://github.com/nolze/msoffcrypto-tool" target="_blank" rel="noopener"
>msoffcrypto-tool&lt;/a> 是一个专门处理 Office 文件加密的 Python 库，可以检测加密类型并进行密码恢复。&lt;/p>
&lt;h3 id="安装">安装&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install msoffcrypto-tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="检测文件是否加密">检测文件是否加密&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">msoffcrypto&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;encrypted.docx&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;rb&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">msoffcrypto&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">OfficeFile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;是否加密: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">is_encrypted&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="使用字典破解">使用字典破解&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">msoffcrypto&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">crack_office&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">file_path&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wordlist_path&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">file_path&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;rb&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">msoffcrypto&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">OfficeFile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">is_encrypted&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;文件未加密&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wordlist_path&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;r&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">encoding&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;utf-8&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">errors&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;ignore&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">wf&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">line&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">wf&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">line&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">strip&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">load_key&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">password&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">pwd&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;✅ 密码找到: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">pwd&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># 解密文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;decrypted.docx&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;wb&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">out&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">file&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">decrypt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">out&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;文件已解密保存&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">pwd&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">except&lt;/span> &lt;span class="ne">Exception&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">continue&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;❌ 字典中未找到密码&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">crack_office&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;report.xlsx&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;rockyou.txt&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="优缺点">优缺点&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>优点&lt;/strong>：纯 Python，跨平台，代码简洁&lt;/li>
&lt;li>&lt;strong>缺点&lt;/strong>：速度一般，不支持 GPU 加速&lt;/li>
&lt;/ul>
&lt;h2 id="方法二john-the-ripper--office2john">方法二：John the Ripper + office2john&lt;/h2>
&lt;p>John the Ripper 不仅支持压缩包，也支持 Office 文档的密码破解。&lt;/p>
&lt;h3 id="使用步骤">使用步骤&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. 提取 Office 文件的密码哈希&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python /path/to/john/run/office2john.py encrypted.docx &amp;gt; hash.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 输出类似：&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># encrypted.docx:$office$*2013*100000*256*16*...（很长的哈希串）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. 使用字典攻击&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">john --wordlist&lt;span class="o">=&lt;/span>rockyou.txt hash.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. 查看结果&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">john --show hash.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="不同-office-版本的哈希模式">不同 Office 版本的哈希模式&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>版本&lt;/th>
&lt;th>John 模式标识&lt;/th>
&lt;th>破解速度参考&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Office 2003&lt;/td>
&lt;td>&lt;code>$oldoffice$&lt;/code>&lt;/td>
&lt;td>快（约 100K/s）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Office 2007&lt;/td>
&lt;td>&lt;code>$office$*2007*&lt;/code>&lt;/td>
&lt;td>中（约 10K/s）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Office 2010&lt;/td>
&lt;td>&lt;code>$office$*2010*&lt;/code>&lt;/td>
&lt;td>慢（约 1K/s）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Office 2013+&lt;/td>
&lt;td>&lt;code>$office$*2013*&lt;/code>&lt;/td>
&lt;td>很慢（约 500/s）&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>以上速度参考基于 GTX 1080 显卡使用 Hashcat 的测试结果。&lt;/p>
&lt;/blockquote>
&lt;h2 id="方法三hashcat-gpu-加速破解">方法三：Hashcat GPU 加速破解&lt;/h2>
&lt;p>如果你有独立显卡，Hashcat 是破解 Office 密码最快的方案。&lt;/p>
&lt;h3 id="office-文档对应的-hashcat-模式">Office 文档对应的 Hashcat 模式&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Office 2003 (.doc/.xls)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">9700&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Office 2007 (.docx/.xlsx)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">9400&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Office 2010 (.docx/.xlsx)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">9500&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Office 2013+ (.docx/.xlsx)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">9600&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="使用掩码攻击已知密码格式">使用掩码攻击（已知密码格式）&lt;/h3>
&lt;p>如果你记得密码大概是 &amp;ldquo;公司名+年份&amp;rdquo; 的格式，可以用掩码缩小范围：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 假设密码格式为 &amp;#34;MyCompany202X&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">9600&lt;/span> -a &lt;span class="m">3&lt;/span> hash.txt &lt;span class="s2">&amp;#34;MyCompany202?d&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># ?d = 数字 0-9，这样只需尝试 10 个组合&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="优缺点-1">优缺点&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>优点&lt;/strong>：GPU 并行计算，速度极快&lt;/li>
&lt;li>&lt;strong>缺点&lt;/strong>：需要独显，配置复杂，Office 2013+ 版本由于高迭代次数，即使 GPU 加速也较慢&lt;/li>
&lt;/ul>
&lt;h2 id="方法四vba-宏破解修改密码">方法四：VBA 宏破解修改密码&lt;/h2>
&lt;p>如果文件只有&amp;quot;修改密码&amp;quot;（而非打开密码），可以用 VBA 宏直接绕过：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-vb" data-lang="vb">&lt;span class="line">&lt;span class="cl">&lt;span class="k">Sub&lt;/span> &lt;span class="nf">RemoveWriteProtection&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">Dim&lt;/span> &lt;span class="n">doc&lt;/span> &lt;span class="ow">As&lt;/span> &lt;span class="n">Document&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">Set&lt;/span> &lt;span class="n">doc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ActiveDocument&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c">&amp;#39; 移除写保护
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c">&lt;/span> &lt;span class="k">If&lt;/span> &lt;span class="n">doc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">ProtectionType&lt;/span> &lt;span class="o">&amp;lt;&amp;gt;&lt;/span> &lt;span class="n">wdNoProtection&lt;/span> &lt;span class="k">Then&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">doc&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Unprotect&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">End&lt;/span> &lt;span class="k">If&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">MsgBox&lt;/span> &lt;span class="s">&amp;#34;修改密码已移除！&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">End&lt;/span> &lt;span class="k">Sub&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>⚠️ &lt;strong>注意&lt;/strong>：此方法仅对&amp;quot;修改密码&amp;quot;有效，对&amp;quot;打开密码&amp;quot;无效。&lt;/p>
&lt;/blockquote>
&lt;h2 id="方法五libreoffice-绕过法">方法五：LibreOffice 绕过法&lt;/h2>
&lt;p>某些情况下，LibreOffice 对加密文件的处理方式和 Microsoft Office 不同：&lt;/p>
&lt;ol>
&lt;li>安装 &lt;a class="link" href="https://www.libreoffice.org/" target="_blank" rel="noopener"
>LibreOffice&lt;/a>（免费开源）&lt;/li>
&lt;li>用 LibreOffice 打开加密的 .doc/.xls 文件&lt;/li>
&lt;li>部分旧格式文件可能不弹出密码框直接打开&lt;/li>
&lt;li>另存为新文件即可&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>成功率&lt;/strong>：仅对 Office 97-2003 格式的部分加密文件有效，对 .docx/.xlsx 基本无效。&lt;/p>
&lt;h2 id="方法六在线云端恢复服务">方法六：在线云端恢复服务&lt;/h2>
&lt;p>对于不熟悉命令行操作的用户，或者本地算力不足以应对 Office 2013+ 的高强度加密时，&lt;strong>云端恢复服务&lt;/strong>是最省心的选择。&lt;/p>
&lt;p>&lt;strong>&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网 (Catpasswd)&lt;/a>&lt;/strong> 支持 Word、Excel、PowerPoint 等 Office 文档的在线密码恢复：&lt;/p>
&lt;h3 id="为什么-office-文件特别适合用云端服务">为什么 Office 文件特别适合用云端服务？&lt;/h3>
&lt;p>Office 2010 之后的文档加密迭代次数非常高（10 万次 SHA-1），这意味着：&lt;/p>
&lt;ul>
&lt;li>每尝试一个密码都需要大量的计算&lt;/li>
&lt;li>普通电脑的 CPU 每秒可能只能尝试几百个密码&lt;/li>
&lt;li>一个 100 万条的字典，本地跑可能需要几个小时甚至几天&lt;/li>
&lt;/ul>
&lt;p>而云端分布式集群可以并行处理，大幅缩短等待时间。&lt;/p>
&lt;h3 id="使用流程">使用流程&lt;/h3>
&lt;ol>
&lt;li>访问 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a> → &lt;a class="link" href="https://www.catpasswd.com/recovery" target="_blank" rel="noopener"
>恢复页面&lt;/a>&lt;/li>
&lt;li>上传加密的 Office 文件（Word/Excel/PPT，最大 100MB）&lt;/li>
&lt;li>填写邮箱地址&lt;/li>
&lt;li>等待系统自动恢复，成功后邮件通知&lt;/li>
&lt;/ol>
&lt;p>对于机密文件，可以使用平台的&lt;strong>特征提取工具&lt;/strong>在本地提取文件特征后仅上传特征数据，源文件不会离开你的电脑，100% 保证文档安全。&lt;/p>
&lt;h3 id="费用说明">费用说明&lt;/h3>
&lt;p>猫密网提供免费恢复模式，可以先测试能否恢复。如果免费版未能成功，可以升级到专业版使用更大的字典库和更快的计算资源。&lt;/p>
&lt;h2 id="各方法对比">各方法对比&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>方法&lt;/th>
&lt;th>支持格式&lt;/th>
&lt;th>速度&lt;/th>
&lt;th>难度&lt;/th>
&lt;th>适合场景&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>msoffcrypto-tool&lt;/td>
&lt;td>全版本 Office&lt;/td>
&lt;td>中&lt;/td>
&lt;td>低&lt;/td>
&lt;td>程序员自用&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>John the Ripper&lt;/td>
&lt;td>全版本 Office&lt;/td>
&lt;td>中&lt;/td>
&lt;td>中&lt;/td>
&lt;td>技术人员&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hashcat&lt;/td>
&lt;td>全版本 Office&lt;/td>
&lt;td>快&lt;/td>
&lt;td>高&lt;/td>
&lt;td>有独显用户&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>VBA 宏&lt;/td>
&lt;td>仅修改密码&lt;/td>
&lt;td>即时&lt;/td>
&lt;td>低&lt;/td>
&lt;td>仅修改密码场景&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>LibreOffice&lt;/td>
&lt;td>旧版 .doc/.xls&lt;/td>
&lt;td>即时&lt;/td>
&lt;td>低&lt;/td>
&lt;td>碰运气&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a>&lt;/td>
&lt;td>全版本 Office&lt;/td>
&lt;td>快&lt;/td>
&lt;td>极低&lt;/td>
&lt;td>所有人&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="提高成功率的实用技巧">提高成功率的实用技巧&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>先确定 Office 版本&lt;/strong>：不同版本的加密算法差异很大，.doc 格式比 .docx 容易破解得多&lt;/li>
&lt;li>&lt;strong>回忆密码规则&lt;/strong>：很多人设置 Office 密码有固定模式，比如 &amp;ldquo;公司名+年份&amp;rdquo;、&amp;ldquo;姓名+手机号后四位&amp;rdquo; 等&lt;/li>
&lt;li>&lt;strong>试试弱口令字典&lt;/strong>：大量用户使用 &amp;ldquo;123456&amp;rdquo;、&amp;ldquo;password&amp;rdquo;、&amp;ldquo;qwerty&amp;rdquo; 等弱密码，先用常见密码字典试一遍&lt;/li>
&lt;li>&lt;strong>Excel 的 .xls 特别注意&lt;/strong>：旧版 Excel 的 40-bit RC4 加密存在漏洞，可以用更高级的密码分析攻击&lt;/li>
&lt;li>&lt;strong>不要轻信&amp;quot;在线秒破&amp;quot;网站&lt;/strong>：很多小网站会收集你的文件用于非法用途，选择有信誉的平台&lt;/li>
&lt;/ol>
&lt;h2 id="常见问题">常见问题&lt;/h2>
&lt;h3 id="q-文件只是设置了只读保护而非加密怎么解除">Q: 文件只是设置了&amp;quot;只读保护&amp;quot;而非加密，怎么解除？&lt;/h3>
&lt;p>如果是 Word 的&amp;quot;限制编辑&amp;quot;或 Excel 的&amp;quot;工作表保护&amp;quot;，那不是真正的加密，可以通过以下方法解除：&lt;/p>
&lt;ul>
&lt;li>将文件后缀改为 .zip，打开后找到 &lt;code>word/settings.xml&lt;/code>，删除 &lt;code>&amp;lt;w:documentProtection&amp;gt;&lt;/code> 标签&lt;/li>
&lt;li>或用 VBA 宏解除（见方法四）&lt;/li>
&lt;/ul>
&lt;h3 id="q-wps-加密的文件和-office-加密的一样吗">Q: WPS 加密的文件和 Office 加密的一样吗？&lt;/h3>
&lt;p>WPS 兼容 Office 的加密格式，但部分 WPS 独有的加密方式使用了不同的算法。如果是 WPS 加密的文件，建议先用 WPS 另存为 .docx 格式再处理。&lt;/p>
&lt;h3 id="q-excel-文件有打开密码和工作簿保护两层怎么分别处理">Q: Excel 文件有&amp;quot;打开密码&amp;quot;和&amp;quot;工作簿保护&amp;quot;两层，怎么分别处理？&lt;/h3>
&lt;p>&amp;ldquo;打开密码&amp;quot;是文件级加密，需要本文介绍的方法破解。&amp;ldquo;工作簿保护&amp;quot;只是限制了结构修改（不能增删工作表），可以用 VBA 直接绕过。&lt;/p>
&lt;h3 id="q-恢复出的密码能直接用在-wps-上吗">Q: 恢复出的密码能直接用在 WPS 上吗？&lt;/h3>
&lt;p>可以。WPS 完全兼容 Office 的加密格式，找到的密码在 WPS 和 Microsoft Office 上通用。&lt;/p>
&lt;h2 id="总结">总结&lt;/h2>
&lt;p>Office 文档密码恢复的核心难点在于新版本 Office（2010+）的高迭代次数加密。对于旧版 .doc/.xls 文件，大部分方法都能较快恢复；对于新版 .docx/.xlsx 文件，建议使用 GPU 加速的 Hashcat 或借助 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a> 这样的云端服务。&lt;/p>
&lt;p>最重要的是，在加密文件之前，建议使用密码管理器妥善保存密码，避免日后给自己制造麻烦。&lt;/p></description></item><item><title>PDF文件加密了怎么解除？PDF密码破解完整指南（2026最新）</title><link>http://dosoos.github.io/blog_basha/p/pdf%E6%96%87%E4%BB%B6%E5%8A%A0%E5%AF%86%E4%BA%86%E6%80%8E%E4%B9%88%E8%A7%A3%E9%99%A4pdf%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3%E5%AE%8C%E6%95%B4%E6%8C%87%E5%8D%972026%E6%9C%80%E6%96%B0/</link><pubDate>Wed, 20 May 2026 10:00:00 +0800</pubDate><guid>http://dosoos.github.io/blog_basha/p/pdf%E6%96%87%E4%BB%B6%E5%8A%A0%E5%AF%86%E4%BA%86%E6%80%8E%E4%B9%88%E8%A7%A3%E9%99%A4pdf%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3%E5%AE%8C%E6%95%B4%E6%8C%87%E5%8D%972026%E6%9C%80%E6%96%B0/</guid><description>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>PDF 是工作中最常用的文档格式之一。从电子合同到学术论文，从银行账单到政府公文，PDF 无处不在。而当一份重要的 PDF 文件被加密，而你恰好忘记了密码，那种无力感相信很多人都经历过。&lt;/p>
&lt;p>好消息是，PDF 的加密体系虽然有多个版本，但其中不少存在已知的弱点。这篇文章将带你全面了解 PDF 加密机制，并给出实用的密码恢复方案。&lt;/p>
&lt;h2 id="pdf-加密基础知识">PDF 加密基础知识&lt;/h2>
&lt;h3 id="两种密码打开密码-vs-权限密码">两种密码：打开密码 vs 权限密码&lt;/h3>
&lt;p>PDF 的加密设计中包含两种不同层级的密码：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>密码类型&lt;/th>
&lt;th>英文名称&lt;/th>
&lt;th>作用&lt;/th>
&lt;th>安全性&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>打开密码&lt;/strong> (User Password)&lt;/td>
&lt;td>User Password&lt;/td>
&lt;td>必须输入才能查看内容&lt;/td>
&lt;td>高（文件内容被加密）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>权限密码&lt;/strong> (Owner Password)&lt;/td>
&lt;td>Owner Password&lt;/td>
&lt;td>限制打印、复制、编辑等操作&lt;/td>
&lt;td>&lt;strong>低（可以绕过）&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>关键区别&lt;/strong>：权限密码不加密文件内容本身，只是通过 PDF 阅读器来限制功能。这意味着即使不知道权限密码，也有方法绕过限制。而打开密码则对文件内容进行了真正的加密。&lt;/p>
&lt;h3 id="pdf-加密版本演变">PDF 加密版本演变&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>版本&lt;/th>
&lt;th>加密方式&lt;/th>
&lt;th>安全性&lt;/th>
&lt;th>说明&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>PDF 1.1-1.3&lt;/td>
&lt;td>RC4 40-bit&lt;/td>
&lt;td>❌ 极弱&lt;/td>
&lt;td>几秒可破解&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PDF 1.4&lt;/td>
&lt;td>RC4 128-bit&lt;/td>
&lt;td>⚠️ 较弱&lt;/td>
&lt;td>存在已知漏洞&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PDF 1.5-1.6&lt;/td>
&lt;td>RC4 128-bit (AES)&lt;/td>
&lt;td>⚠️ 中等&lt;/td>
&lt;td>改进但仍有弱点&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PDF 1.7 Extension 3&lt;/td>
&lt;td>AES-128&lt;/td>
&lt;td>✅ 较强&lt;/td>
&lt;td>Adobe Acrobat 9+&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PDF 2.0&lt;/td>
&lt;td>AES-256&lt;/td>
&lt;td>✅✅ 很强&lt;/td>
&lt;td>ISO 32000-2 标准&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="一权限密码owner-password的绕过方法">一、权限密码（Owner Password）的绕过方法&lt;/h2>
&lt;p>权限密码是最容易处理的，有以下几种方案：&lt;/p>
&lt;h3 id="方法-1使用-qpdf-一键移除推荐">方法 1：使用 qpdf 一键移除（推荐）&lt;/h3>
&lt;p>&lt;a class="link" href="https://github.com/qpdf/qpdf" target="_blank" rel="noopener"
>qpdf&lt;/a> 是一个免费的 PDF 转换工具，可以直接移除权限密码：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 安装&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Ubuntu/Debian&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo apt install qpdf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># macOS&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">brew install qpdf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Windows - 下载安装包&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># https://github.com/qpdf/qpdf/releases&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 移除权限密码（不需要知道原密码）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">qpdf --decrypt input.pdf output.pdf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>执行后，&lt;code>output.pdf&lt;/code> 将不再有任何编辑、打印、复制限制。&lt;/p>
&lt;h3 id="方法-2python-pikepdf-库">方法 2：Python pikepdf 库&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">pikepdf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 打开有权限密码的 PDF（不需要密码）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pdf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">pikepdf&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;restricted.pdf&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 保存为新文件（自动移除权限限制）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">pdf&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">save&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;unrestricted.pdf&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;✅ 权限密码已移除&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>安装 pikepdf：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install pikepdf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-3在线工具">方法 3：在线工具&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>ilovepdf.com&lt;/strong> - 上传 PDF 即可解锁&lt;/li>
&lt;li>&lt;strong>smallpdf.com&lt;/strong> - 免费额度有限&lt;/li>
&lt;li>&lt;strong>pdf2go.com&lt;/strong> - 支持批量处理&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>⚠️ &lt;strong>隐私提醒&lt;/strong>：在线工具会上传你的文件到第三方服务器，敏感文件不建议使用。如需在线处理，建议选择支持文件销毁的正规平台。&lt;/p>
&lt;/blockquote>
&lt;h3 id="方法-4chrome-浏览器打印法">方法 4：Chrome 浏览器打印法&lt;/h3>
&lt;ol>
&lt;li>用 Chrome 浏览器打开受权限密码保护的 PDF&lt;/li>
&lt;li>Chrome 可能直接忽略权限限制显示内容&lt;/li>
&lt;li>按 Ctrl+P → 选择&amp;quot;另存为 PDF&amp;quot;&lt;/li>
&lt;li>新的 PDF 文件将不带任何限制&lt;/li>
&lt;/ol>
&lt;h2 id="二打开密码user-password的破解方法">二、打开密码（User Password）的破解方法&lt;/h2>
&lt;p>打开密码对文件内容进行了真正的加密，需要使用密码恢复手段。&lt;/p>
&lt;h3 id="方法-1pdfcpu--john-the-ripper">方法 1：pdfcpu + John the Ripper&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. 从 PDF 中提取密码哈希&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用 pdf2john 工具（John the Ripper 附带）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python /path/to/john/run/pdf2john.py encrypted.pdf &amp;gt; hash.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 输出格式：&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># encrypted.pdf:$pdf$2*3*128*-1060*1*16*...&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. 使用字典攻击&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">john --wordlist&lt;span class="o">=&lt;/span>rockyou.txt hash.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. 查看结果&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">john --show hash.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-2hashcat-gpu-加速">方法 2：Hashcat GPU 加速&lt;/h3>
&lt;p>Hashcat 对不同版本的 PDF 有单独的模式编号：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># PDF 1.1-1.3 (RC4 40-bit) - 模式 10400&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">10400&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># PDF 1.4-1.6 (RC4 128-bit) - 模式 10500&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">10500&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># PDF 1.7 Extension 3 (AES-128) - 模式 10600&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">10600&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># PDF 1.7 Extension 8 (AES-256) - 模式 10700&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">10700&lt;/span> -a &lt;span class="m">0&lt;/span> hash.txt wordlist.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="各版本-pdf-的破解速度对比">各版本 PDF 的破解速度对比&lt;/h3>
&lt;p>以 GTX 3080 显卡为参考：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>PDF 版本&lt;/th>
&lt;th>Hashcat 模式&lt;/th>
&lt;th>大约速度&lt;/th>
&lt;th>破解 6 位数字密码时间&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1.1-1.3&lt;/td>
&lt;td>10400&lt;/td>
&lt;td>~50M/s&lt;/td>
&lt;td>不到 1 秒&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1.4-1.6&lt;/td>
&lt;td>10500&lt;/td>
&lt;td>~10M/s&lt;/td>
&lt;td>约 100 秒&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1.7 Ext 3&lt;/td>
&lt;td>10600&lt;/td>
&lt;td>~50K/s&lt;/td>
&lt;td>约 20 天&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1.7 Ext 8&lt;/td>
&lt;td>10700&lt;/td>
&lt;td>~10K/s&lt;/td>
&lt;td>约 100 天&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>可以看到，PDF 版本越高，破解难度呈指数级增长。&lt;/p>
&lt;h3 id="方法-3python--pikepdf-字典爆破">方法 3：Python + pikepdf 字典爆破&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">pikepdf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">crack_pdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">pdf_path&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">wordlist_path&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;使用字典尝试破解 PDF 打开密码&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">wordlist_path&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;r&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">encoding&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;utf-8&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">errors&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;ignore&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">line&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">enumerate&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">f&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">line&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">strip&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pdf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">pikepdf&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">pdf_path&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">password&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">pwd&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;✅ 第 &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> 次尝试，密码找到: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">pwd&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># 保存解密文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pdf&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">save&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;decrypted_&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">pdf_path&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">pwd&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">except&lt;/span> &lt;span class="n">pikepdf&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">PasswordError&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">continue&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">except&lt;/span> &lt;span class="ne">Exception&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">e&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;尝试 &amp;#39;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">pwd&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#39; 时出错: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">continue&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;❌ 字典中未找到密码&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="kc">None&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">crack_pdf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;secret.pdf&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;rockyou.txt&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-4pdfcrack轻量级开源工具">方法 4：PDFCrack（轻量级开源工具）&lt;/h3>
&lt;p>&lt;a class="link" href="https://github.com/robins/pdfcrack" target="_blank" rel="noopener"
>pdfcrack&lt;/a> 是一个专门针对 PDF 的密码破解工具：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 编译安装&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git clone https://github.com/robins/pdfcrack.git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> pdfcrack
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">make
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用字典破解&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">./pdfcrack -f encrypted.pdf -w wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 暴力破解（指定字符集和长度范围）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">./pdfcrack -f encrypted.pdf --minlen&lt;span class="o">=&lt;/span>&lt;span class="m">1&lt;/span> --maxlen&lt;span class="o">=&lt;/span>&lt;span class="m">6&lt;/span> -c &lt;span class="s2">&amp;#34;0123456789&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-5云端在线恢复服务">方法 5：云端在线恢复服务&lt;/h3>
&lt;p>对于不方便本地部署工具的用户，或者 PDF 版本较高（AES-128/256）本地算力不足的情况，可以考虑云端恢复服务。&lt;/p>
&lt;p>&lt;strong>&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网 (Catpasswd)&lt;/a>&lt;/strong> 支持部分加密类型的 PDF 文件密码恢复。使用流程非常简单：&lt;/p>
&lt;ol>
&lt;li>访问 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>catpasswd.com&lt;/a> → &lt;a class="link" href="https://www.catpasswd.com/recovery" target="_blank" rel="noopener"
>上传文件&lt;/a>&lt;/li>
&lt;li>上传加密的 PDF 文件&lt;/li>
&lt;li>填写邮箱等待通知&lt;/li>
&lt;li>系统利用云端算力自动尝试千万级密码组合&lt;/li>
&lt;/ol>
&lt;p>对于高度敏感的 PDF 文件（如合同、财报、法律文书），猫密网提供&lt;strong>本地特征提取工具&lt;/strong>，你可以在自己的电脑上提取文件加密特征，仅上传特征数据（几 KB），源文件完全不会离开你的电脑。&lt;/p>
&lt;blockquote>
&lt;p>💡 &lt;strong>小贴士&lt;/strong>：猫密网提供免费恢复模式，可以先试试能不能找回，不成功不收费。&lt;/p>
&lt;/blockquote>
&lt;h2 id="pdf-密码破解的实战技巧">PDF 密码破解的实战技巧&lt;/h2>
&lt;h3 id="1-先确定-pdf-版本">1. 先确定 PDF 版本&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 查看 PDF 版本和加密信息&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">qpdf --show-encryption encrypted.pdf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 或使用 Python&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">import pikepdf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">pdf&lt;/span> &lt;span class="o">=&lt;/span> pikepdf.open&lt;span class="o">(&lt;/span>&lt;span class="s2">&amp;#34;encrypted.pdf&amp;#34;&lt;/span>, &lt;span class="nv">password&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>&lt;span class="o">)&lt;/span> &lt;span class="c1"># 如果有打开密码需要填入&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">print&lt;span class="o">(&lt;/span>pdf.Root.Version&lt;span class="o">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>了解版本后，可以针对性选择破解策略：低版本 PDF 可以用更高效的攻击方式。&lt;/p>
&lt;h3 id="2-利用-pdf-的已知漏洞">2. 利用 PDF 的已知漏洞&lt;/h3>
&lt;p>PDF 1.4（RC4 128-bit）有一个著名的漏洞：权限密码和打开密码使用相同的加密密钥。这意味着如果你能绕过权限密码（用 qpdf），实际上就获得了文件内容。&lt;/p>
&lt;h3 id="3-常见的-pdf-密码模式">3. 常见的 PDF 密码模式&lt;/h3>
&lt;p>很多人设置 PDF 密码时会用以下模式：&lt;/p>
&lt;ul>
&lt;li>纯数字（如身份证号、手机号、生日）&lt;/li>
&lt;li>公司名/文件名 + 年份&lt;/li>
&lt;li>&amp;ldquo;password&amp;rdquo;、&amp;ldquo;123456&amp;rdquo; 等弱口令&lt;/li>
&lt;li>项目代号或合同编号&lt;/li>
&lt;/ul>
&lt;p>建议先用这些常见模式生成自定义字典，比盲目使用通用字典效率高得多。&lt;/p>
&lt;h3 id="4-银行政府类-pdf-的特殊处理">4. 银行/政府类 PDF 的特殊处理&lt;/h3>
&lt;p>银行账单、税务文件等通常使用数字密码（如身份证后6位、手机号后4位）。可以先用纯数字字典尝试：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成 6 位纯数字字典&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;digits6.txt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;w&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1000000&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">f&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="si">:&lt;/span>&lt;span class="s2">06d&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="各方法对比总结">各方法对比总结&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>密码类型&lt;/th>
&lt;th>方法&lt;/th>
&lt;th>工具&lt;/th>
&lt;th>难度&lt;/th>
&lt;th>速度&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>权限密码&lt;/td>
&lt;td>qpdf 移除&lt;/td>
&lt;td>qpdf&lt;/td>
&lt;td>极低&lt;/td>
&lt;td>即时&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>权限密码&lt;/td>
&lt;td>pikepdf 保存&lt;/td>
&lt;td>Python&lt;/td>
&lt;td>低&lt;/td>
&lt;td>即时&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>权限密码&lt;/td>
&lt;td>Chrome 打印&lt;/td>
&lt;td>浏览器&lt;/td>
&lt;td>极低&lt;/td>
&lt;td>即时&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>打开密码&lt;/td>
&lt;td>John the Ripper&lt;/td>
&lt;td>命令行&lt;/td>
&lt;td>中&lt;/td>
&lt;td>中&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>打开密码&lt;/td>
&lt;td>Hashcat&lt;/td>
&lt;td>GPU&lt;/td>
&lt;td>高&lt;/td>
&lt;td>快&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>打开密码&lt;/td>
&lt;td>pdfcrack&lt;/td>
&lt;td>命令行&lt;/td>
&lt;td>中&lt;/td>
&lt;td>中&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>打开密码&lt;/td>
&lt;td>&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a>&lt;/td>
&lt;td>网页&lt;/td>
&lt;td>极低&lt;/td>
&lt;td>快&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="常见问题">常见问题&lt;/h2>
&lt;h3 id="q-pdf-密码和-word-密码哪个更难破解">Q: PDF 密码和 Word 密码哪个更难破解？&lt;/h3>
&lt;p>一般来说，高版本 PDF（AES-256）比 Word 2013+ 更难破解，因为 PDF 的密钥派生函数（KDF）迭代次数更多。但低版本 PDF（RC4 40-bit）比任何版本的 Word 都容易得多。&lt;/p>
&lt;h3 id="q-adobe-acrobat-能帮忙找回密码吗">Q: Adobe Acrobat 能帮忙找回密码吗？&lt;/h3>
&lt;p>不能。Adobe Acrobat 只能设置和管理密码，没有&amp;quot;找回密码&amp;quot;功能。如果你忘记了打开密码，只能通过本文介绍的破解方法。&lt;/p>
&lt;h3 id="q-为什么有的-pdf-在线解锁工具不工作">Q: 为什么有的 PDF 在线解锁工具不工作？&lt;/h3>
&lt;p>在线解锁工具（如 ilovepdf）只能移除权限密码（Owner Password），对打开密码（User Password）无效。如果文件有打开密码，必须使用密码恢复工具。&lt;/p>
&lt;h3 id="q-扫描版-pdf-和文字版-pdf-在加密上有什么区别">Q: 扫描版 PDF 和文字版 PDF 在加密上有什么区别？&lt;/h3>
&lt;p>加密方式没有区别，但扫描版 PDF 文件通常更大（因为包含图片），上传到云端服务时可能需要注意文件大小限制。超过 100MB 的文件可以使用 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a> 的特征提取工具来处理。&lt;/p>
&lt;h2 id="总结">总结&lt;/h2>
&lt;p>PDF 密码破解的难度取决于 PDF 版本和加密算法：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>权限密码&lt;/strong>：用 qpdf 或 pikepdf 一键移除，非常简单&lt;/li>
&lt;li>&lt;strong>打开密码 + 低版本 PDF&lt;/strong>：用 John the Ripper 或 pdfcrack，速度很快&lt;/li>
&lt;li>&lt;strong>打开密码 + 高版本 PDF&lt;/strong>：建议使用 Hashcat GPU 加速或 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a> 等云端服务&lt;/li>
&lt;/ul>
&lt;p>最好的策略永远是：设置密码时就记录在安全的地方（如密码管理器），避免日后给自己制造麻烦。但如果已经忘记了密码，希望本文的方法能帮到你。&lt;/p></description></item><item><title>WiFi密码忘了怎么找回？cap握手包破解教程（2026最新）</title><link>http://dosoos.github.io/blog_basha/p/wifi%E5%AF%86%E7%A0%81%E5%BF%98%E4%BA%86%E6%80%8E%E4%B9%88%E6%89%BE%E5%9B%9Ecap%E6%8F%A1%E6%89%8B%E5%8C%85%E7%A0%B4%E8%A7%A3%E6%95%99%E7%A8%8B2026%E6%9C%80%E6%96%B0/</link><pubDate>Mon, 18 May 2026 10:00:00 +0800</pubDate><guid>http://dosoos.github.io/blog_basha/p/wifi%E5%AF%86%E7%A0%81%E5%BF%98%E4%BA%86%E6%80%8E%E4%B9%88%E6%89%BE%E5%9B%9Ecap%E6%8F%A1%E6%89%8B%E5%8C%85%E7%A0%B4%E8%A7%A3%E6%95%99%E7%A8%8B2026%E6%9C%80%E6%96%B0/</guid><description>&lt;blockquote>
&lt;p>⚠️ &lt;strong>免责声明&lt;/strong>：本文仅用于恢复你自己拥有的 WiFi 网络密码。未经授权破解他人 WiFi 密码是违法行为，请勿用于非法用途。&lt;/p>
&lt;/blockquote>
&lt;h2 id="前言">前言&lt;/h2>
&lt;p>家里的 WiFi 密码设了太久没用忘记了？换了新手机想连 WiFi 却想不起密码？路由器管理页面也登不进去了？&lt;/p>
&lt;p>对于使用 WPA/WPA2 加密的 WiFi 网络，密码不会以明文形式存储在路由器中。但好消息是，我们可以通过抓取 WiFi 的&amp;quot;握手包&amp;quot;（Handshake），然后使用密码恢复工具来找回丢失的密码。&lt;/p>
&lt;h2 id="基础知识wpa2-握手包是什么">基础知识：WPA2 握手包是什么？&lt;/h2>
&lt;h3 id="四次握手4-way-handshake">四次握手（4-Way Handshake）&lt;/h3>
&lt;p>当设备（手机、电脑）连接 WPA2 WiFi 时，会和路由器进行一次&amp;quot;四次握手&amp;quot;过程：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">客户端 路由器
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | 1. ANonce (随机数A) |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |&amp;lt;------------------------------|
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | 2. SNonce (随机数B) + MIC |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |------------------------------&amp;gt;|
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | 3. GTK + MIC |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |&amp;lt;------------------------------|
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | 4. 确认 |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |------------------------------&amp;gt;|
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>这个握手过程包含了用于推导 WiFi 密码的关键信息。抓到这四次握手的数据包（保存为 .cap 文件），就可以离线尝试恢复密码。&lt;/p>
&lt;h3 id="关键点">关键点&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>cap 文件不包含密码本身&lt;/strong>，只包含验证密码是否正确的信息&lt;/li>
&lt;li>需要至少一个设备在握手过程中在线（或手动触发重连）&lt;/li>
&lt;li>WPA2 的加密算法是 AES-CCMP，没有已知漏洞，只能通过穷举法恢复密码&lt;/li>
&lt;/ul>
&lt;h2 id="第一步抓取-wpa2-握手包">第一步：抓取 WPA2 握手包&lt;/h2>
&lt;h3 id="所需工具">所需工具&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>硬件&lt;/strong>：支持监听模式（Monitor Mode）的无线网卡
&lt;ul>
&lt;li>推荐：Alfa AWUS036ACH、TP-Link TL-WN722N（V1）、Alfa AWUS036NHA&lt;/li>
&lt;li>注意：很多内置笔记本网卡不支持监听模式&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>软件&lt;/strong>：&lt;a class="link" href="https://www.aircrack-ng.org/" target="_blank" rel="noopener"
>aircrack-ng&lt;/a> 套件&lt;/li>
&lt;/ul>
&lt;h3 id="安装-aircrack-ng">安装 aircrack-ng&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Ubuntu/Debian&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo apt install aircrack-ng
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># macOS&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">brew install aircrack-ng
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Kali Linux（已预装）&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="抓取握手的完整流程">抓取握手的完整流程&lt;/h3>
&lt;h4 id="1-查看无线网卡并切换到监听模式">1. 查看无线网卡并切换到监听模式&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 查看可用的无线网卡&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">iwconfig
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 假设网卡名称为 wlan0，先停止干扰进程&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo airmon-ng check &lt;span class="nb">kill&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 切换到监听模式&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo airmon-ng start wlan0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 现在网卡名称变为 wlan0mon&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="2-扫描周围的-wifi-网络">2. 扫描周围的 WiFi 网络&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo airodump-ng wlan0mon
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>屏幕会显示：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">BSSID PWR Beacons #Data, #/s CH ENC AUTH CIPHER ESSID
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AA:BB:CC:DD:EE:FF -45 100 50 2 6 WPA2 PSK CCMP MyHomeWiFi
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">11:22:33:44:55:66 -67 80 20 1 11 WPA2 PSK CCMP Neighbor_WiFi
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>记住目标 WiFi 的 &lt;strong>BSSID&lt;/strong>（MAC 地址）和 &lt;strong>CH&lt;/strong>（信道）。&lt;/p>
&lt;h4 id="3-锁定目标网络并抓取握手包">3. 锁定目标网络并抓取握手包&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># -w 指定保存文件名前缀&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># --bssid 指定目标 BSSID&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># -c 指定信道&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo airodump-ng -w capture --bssid AA:BB:CC:DD:EE:FF -c &lt;span class="m">6&lt;/span> wlan0mon
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="4-触发设备重新握手">4. 触发设备重新握手&lt;/h4>
&lt;p>等待自然握手可能很慢，可以主动发送解除认证包（Deauth）来强制设备重新连接：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 在另一个终端执行&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># -0 5 表示发送 5 个 deauth 包&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># -a 是路由器的 BSSID&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo aireplay-ng -0 &lt;span class="m">5&lt;/span> -a AA:BB:CC:DD:EE:FF wlan0mon
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>当 airodump-ng 右上角显示 &lt;strong>&amp;ldquo;WPA handshake: AA:BB:CC:DD:EE:FF&amp;rdquo;&lt;/strong> 时，说明握手包已成功抓取。&lt;/p>
&lt;h4 id="5-退出监听模式">5. 退出监听模式&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo airmon-ng stop wlan0mon
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 恢复网络服务&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo systemctl restart NetworkManager
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>此时你会得到一个 &lt;code>capture-01.cap&lt;/code> 文件，这就是包含 WPA2 握手信息的数据包。&lt;/p>
&lt;h2 id="第二步验证握手包是否完整">第二步：验证握手包是否完整&lt;/h2>
&lt;p>在开始破解前，确认 cap 文件包含完整的握手信息：&lt;/p>
&lt;h3 id="使用-aircrack-ng-验证">使用 aircrack-ng 验证&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">aircrack-ng capture-01.cap
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>如果输出中包含 &amp;ldquo;1 handshake&amp;rdquo;，说明握手包有效。&lt;/p>
&lt;h3 id="使用-tshark-详细查看">使用 tshark 详细查看&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 安装 Wireshark 命令行工具&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo apt install tshark
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 查看握手包详情&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tshark -r capture-01.cap -Y &lt;span class="s2">&amp;#34;eapol&amp;#34;&lt;/span> -V
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="使用在线工具验证">使用在线工具验证&lt;/h3>
&lt;p>你也可以将 cap 文件上传到 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>catpasswd.com&lt;/a> 直接进行密码恢复，无需手动验证——系统会自动检测握手包的有效性。&lt;/p>
&lt;h2 id="第三步破解-wifi-密码">第三步：破解 WiFi 密码&lt;/h2>
&lt;h3 id="方法-1aircrack-ng-字典攻击">方法 1：aircrack-ng 字典攻击&lt;/h3>
&lt;p>最简单直接的方式：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># -w 指定字典文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># -b 指定目标 BSSID&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">aircrack-ng -w rockyou.txt -b AA:BB:CC:DD:EE:FF capture-01.cap
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>如果密码在字典中，输出类似：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl"> Aircrack-ng 1.7
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> [00:02:35] 2847536/9822786 keys tested (19050.27 k/s)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Time left: 6 minutes, 7 seconds 28.98%
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> KEY FOUND! [ mypassword123 ]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Master Key : 4A 2B 3C 1D 5E 6F 7A 8B 9C 0D 1E 2F 3A 4B 5C 6D
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 7E 8F 9A 0B 1C 2D 3E 4F 5A 6B 7C 8D 9E 0F 1A 2B
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> Transient Key : ...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> EAPOL HMAC : ...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-2hashcat-gpu-加速推荐最快">方法 2：Hashcat GPU 加速（推荐，最快）&lt;/h3>
&lt;h4 id="转换-cap-文件为-hashcat-格式">转换 cap 文件为 Hashcat 格式&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用 hcxtools 转换&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 安装&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo apt install hcxtools
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 转换为 .hc22000 格式&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hcxpcapngtool -o wifi_hash.hc22000 capture-01.cap
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="使用-hashcat-破解">使用 Hashcat 破解&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># WPA/WPA2 在 Hashcat 中的模式是 22000&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">0&lt;/span> wifi_hash.hc22000 wordlist.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用 GPU 加速，速度通常在 100K-500K/s（取决于显卡）&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h4 id="常用攻击策略">常用攻击策略&lt;/h4>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 字典攻击&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">0&lt;/span> wifi_hash.hc22000 rockyou.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 规则攻击（对字典中的密码做变形：加数字、改大小写等）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">0&lt;/span> wifi_hash.hc22000 rockyou.txt -r rules/best64.rule
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 掩码攻击（假设记得密码是 8 位小写字母+数字）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">3&lt;/span> wifi_hash.hc22000 &lt;span class="s2">&amp;#34;?l?l?l?l?l?l?d?d&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 组合攻击&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">1&lt;/span> wifi_hash.hc22000 wordlist1.txt wordlist2.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-3pyrit专为-wpa-优化的工具">方法 3：Pyrit（专为 WPA 优化的工具）&lt;/h3>
&lt;p>&lt;a class="link" href="https://github.com/JPaulMora/Pyrit" target="_blank" rel="noopener"
>Pyrit&lt;/a> 可以预计算 WPA 的 PMK（Pairwise Master Key），加速破解：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 安装&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pip install pyrit
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 导入字典&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pyrit -r rockyou.txt import_passwords
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 导入 cap 文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pyrit -r capture-01.cap import_capture
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 设置 ESSID&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pyrit -e &lt;span class="s2">&amp;#34;MyHomeWiFi&amp;#34;&lt;/span> create_essid
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 预计算 PMK（利用 GPU/CPU 加速）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pyrit batch
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 攻击&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pyrit attack_db
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-4python-脚本自己写">方法 4：Python 脚本自己写&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">scapy.all&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">hashlib&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">pbkdf2_hmac&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">hmac&lt;/span>&lt;span class="o">,&lt;/span> &lt;span class="nn">struct&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">verify_wpa_password&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">cap_file&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">password&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ssid&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;验证一个密码是否是正确的 WPA2 密码&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># 从 cap 文件读取握手包&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">packets&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rdpcap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">cap_file&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># 计算 PMK (Pairwise Master Key)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">pmk&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">pbkdf2_hmac&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;sha1&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">password&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">encode&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">ssid&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">encode&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="mi">4096&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;测试密码: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">password&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;PMK: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">pmk&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">hex&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># 实际验证需要完整的握手数据和 PTK 推导&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># 这里简化展示，完整实现较复杂&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">pmk&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># WiFi 密码通常是 8-63 位的 ASCII 字符&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ssid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;MyHomeWiFi&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">test_passwords&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;password123&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;wifi1234&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;home2024&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">pwd&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">test_passwords&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">verify_wpa_password&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;capture-01.cap&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">pwd&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ssid&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="方法-5云端在线恢复服务">方法 5：云端在线恢复服务&lt;/h3>
&lt;p>如果不想自己配置环境或本地算力不足，可以把 cap 文件交给云端服务处理：&lt;/p>
&lt;p>&lt;strong>&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网 (Catpasswd)&lt;/a>&lt;/strong> 支持 WPA/WPA2 握手包（.cap 文件）的密码恢复。&lt;/p>
&lt;h4 id="优势">优势&lt;/h4>
&lt;ul>
&lt;li>&lt;strong>无需安装 aircrack-ng 等工具&lt;/strong>：直接上传 cap 文件即可&lt;/li>
&lt;li>&lt;strong>云端千万级字典&lt;/strong>：覆盖了大量常见 WiFi 密码组合，包括：
&lt;ul>
&lt;li>常见 WiFi 密码（如 12345678、88888888）&lt;/li>
&lt;li>手机号组合&lt;/li>
&lt;li>拼音 + 数字组合&lt;/li>
&lt;li>各地区的常见密码模式&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>分布式算力&lt;/strong>：比单台电脑快数十倍&lt;/li>
&lt;li>&lt;strong>文件小&lt;/strong>：cap 文件通常只有几 KB 到几 MB，上传很快&lt;/li>
&lt;/ul>
&lt;h4 id="使用流程">使用流程&lt;/h4>
&lt;ol>
&lt;li>按上面的步骤抓取握手包得到 .cap 文件&lt;/li>
&lt;li>访问 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a> → &lt;a class="link" href="https://www.catpasswd.com/recovery" target="_blank" rel="noopener"
>上传文件&lt;/a>&lt;/li>
&lt;li>上传 .cap 文件，填写邮箱&lt;/li>
&lt;li>系统自动分析握手包有效性并开始密码恢复&lt;/li>
&lt;li>成功后邮件通知&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;p>💡 &lt;strong>小技巧&lt;/strong>：如果你不确定抓到的 cap 文件是否包含有效的握手数据，可以直接上传到猫密网，系统会自动检测。如果握手包无效，不会开始恢复也不会收费。&lt;/p>
&lt;/blockquote>
&lt;h2 id="提高-wifi-密码恢复成功率的技巧">提高 WiFi 密码恢复成功率的技巧&lt;/h2>
&lt;h3 id="1-使用高质量-wifi-专用字典">1. 使用高质量 WiFi 专用字典&lt;/h3>
&lt;p>通用字典（如 rockyou.txt）的 WiFi 密码覆盖率不高。推荐使用专门的 WiFi 密码字典：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>WiFi-Password-List&lt;/strong>：GitHub 上有专门的 WiFi 常见密码合集&lt;/li>
&lt;li>&lt;strong>国内常见 WiFi 密码&lt;/strong>：88888888、12345678、手机号后8位等&lt;/li>
&lt;li>&lt;strong>自定义字典&lt;/strong>：根据你对设置者的了解生成可能的密码&lt;/li>
&lt;/ul>
&lt;h3 id="2-常见-wifi-密码模式">2. 常见 WiFi 密码模式&lt;/h3>
&lt;p>中国人设置 WiFi 密码最常见的模式：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>模式&lt;/th>
&lt;th>示例&lt;/th>
&lt;th>频率&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>8位纯数字&lt;/td>
&lt;td>12345678、88888888&lt;/td>
&lt;td>⭐⭐⭐⭐⭐&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>手机号&lt;/td>
&lt;td>13812345678&lt;/td>
&lt;td>⭐⭐⭐⭐&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>拼音+数字&lt;/td>
&lt;td>woaini520、zhangwei123&lt;/td>
&lt;td>⭐⭐⭐&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>门牌号+楼号&lt;/td>
&lt;td>1602dong、501hao&lt;/td>
&lt;td>⭐⭐&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>英文名+年份&lt;/td>
&lt;td>michael2020&lt;/td>
&lt;td>⭐⭐&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="3-利用规则攻击">3. 利用规则攻击&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 创建一个规则文件 wifi.rule&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cat &amp;gt; wifi.rule &lt;span class="s">&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s">$1 $2 $3 $4 $5 $6 $7 $8
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s">$8 $8 $8 $8 $8 $8 $8 $8
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s">$1 $2 $3 $4 $5 $6 $7 $8 $9 $0
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s">^[Ww]ifi
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s">^$1$2$3$4
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s">EOF&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用规则攻击&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">0&lt;/span> wifi_hash.hc22000 common_words.txt -r wifi.rule
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="4-pmkid-攻击无需握手的新方法">4. PMKID 攻击（无需握手的新方法）&lt;/h3>
&lt;p>WPA2 有一个较新的攻击向量——PMKID，不需要等待设备握手：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用 hcxdumptool 抓取 PMKID&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo hcxdumptool -i wlan0mon -o pmkid_capture.pcapng --enable_status&lt;span class="o">=&lt;/span>&lt;span class="m">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 等待几分钟，如果路由器支持 PMKID，会自动获取&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 然后转换并破解&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hcxpcapngtool -o pmkid.hc22000 pmkid_capture.pcapng
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hashcat -m &lt;span class="m">22000&lt;/span> -a &lt;span class="m">0&lt;/span> pmkid.hc22000 wordlist.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>PMKID 的优势&lt;/strong>：不需要有设备在线，只要路由器开着就行。&lt;/p>
&lt;h2 id="各方法对比">各方法对比&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>方法&lt;/th>
&lt;th>速度&lt;/th>
&lt;th>难度&lt;/th>
&lt;th>需要 GPU&lt;/th>
&lt;th>适合场景&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>aircrack-ng&lt;/td>
&lt;td>慢&lt;/td>
&lt;td>中&lt;/td>
&lt;td>否&lt;/td>
&lt;td>简单字典攻击&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hashcat&lt;/td>
&lt;td>极快&lt;/td>
&lt;td>高&lt;/td>
&lt;td>是&lt;/td>
&lt;td>专业破解&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pyrit&lt;/td>
&lt;td>快&lt;/td>
&lt;td>中&lt;/td>
&lt;td>可选&lt;/td>
&lt;td>PMK 预计算&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Python 脚本&lt;/td>
&lt;td>慢&lt;/td>
&lt;td>高&lt;/td>
&lt;td>否&lt;/td>
&lt;td>学习原理&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a>&lt;/td>
&lt;td>快&lt;/td>
&lt;td>极低&lt;/td>
&lt;td>否&lt;/td>
&lt;td>普通用户&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="各品牌路由器能从管理页面查看密码吗">各品牌路由器能从管理页面查看密码吗？&lt;/h2>
&lt;p>如果你还能登录路由器管理页面，某些路由器可以直接查看 WiFi 密码：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>品牌&lt;/th>
&lt;th>管理页面地址&lt;/th>
&lt;th>查看路径&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>TP-Link&lt;/td>
&lt;td>192.168.0.1 或 192.168.1.1&lt;/td>
&lt;td>无线设置 → 无线安全设置&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>小米&lt;/td>
&lt;td>192.168.31.1&lt;/td>
&lt;td>常用设置 → WiFi 设置&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>华为&lt;/td>
&lt;td>192.168.3.1&lt;/td>
&lt;td>我的 WiFi → 查看密码&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>华硕&lt;/td>
&lt;td>192.168.1.1&lt;/td>
&lt;td>无线网络 → 一般设置&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OpenWrt&lt;/td>
&lt;td>192.168.1.1&lt;/td>
&lt;td>Network → Wireless → Edit&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>💡 &lt;strong>小技巧&lt;/strong>：即使管理页面密码显示为星号（***），也可以在浏览器开发者工具中查看明文。右键点击密码框 → 检查元素 → 将 &lt;code>type=&amp;quot;password&amp;quot;&lt;/code> 改为 &lt;code>type=&amp;quot;text&amp;quot;&lt;/code>。&lt;/p>
&lt;/blockquote>
&lt;h2 id="常见问题">常见问题&lt;/h2>
&lt;h3 id="q-抓到的-cap-文件显示0-handshakes怎么办">Q: 抓到的 cap 文件显示&amp;quot;0 handshakes&amp;quot;怎么办？&lt;/h3>
&lt;p>说明没有抓到完整的四次握手。解决方法：&lt;/p>
&lt;ol>
&lt;li>确保有设备连接到目标 WiFi&lt;/li>
&lt;li>多发送几次 deauth 包强制重连&lt;/li>
&lt;li>尝试更长的抓取时间&lt;/li>
&lt;li>试试 PMKID 方法（不需要握手）&lt;/li>
&lt;/ol>
&lt;h3 id="q-wpa3-能破解吗">Q: WPA3 能破解吗？&lt;/h3>
&lt;p>WPA3 大幅增强了安全性：&lt;/p>
&lt;ul>
&lt;li>使用 SAE（Simultaneous Authentication of Equals）替代 PSK&lt;/li>
&lt;li>防离线字典攻击&lt;/li>
&lt;li>目前没有已知的有效破解方法&lt;/li>
&lt;/ul>
&lt;p>如果你的 WiFi 是 WPA3 加密，目前基本无法离线破解。&lt;/p>
&lt;h3 id="q-内置笔记本网卡能抓握手包吗">Q: 内置笔记本网卡能抓握手包吗？&lt;/h3>
&lt;p>大多数内置网卡&lt;strong>不支持监听模式&lt;/strong>，无法抓取握手包。建议购买支持监听模式的外置 USB 无线网卡（50-200 元），或直接使用 &lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a> 上传已有的 cap 文件进行恢复。&lt;/p>
&lt;h3 id="q-5ghz-和-24ghz-频段的-wifi-抓包有区别吗">Q: 5GHz 和 2.4GHz 频段的 WiFi 抓包有区别吗？&lt;/h3>
&lt;p>抓取方法相同，但需要注意：&lt;/p>
&lt;ul>
&lt;li>无线网卡必须支持对应频段&lt;/li>
&lt;li>5GHz 的信道更多，扫描时间可能更长&lt;/li>
&lt;li>部分双频路由器在不同频段使用相同密码，可以从任一频段抓取&lt;/li>
&lt;/ul>
&lt;h3 id="q-从手机上已经连接的-wifi-能导出密码吗">Q: 从手机上已经连接的 WiFi 能导出密码吗？&lt;/h3>
&lt;p>可以。已 root 的 Android 手机：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># WiFi 密码保存在以下文件中&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cat /data/misc/wifi/WifiConfigStore.xml
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 或 Android 10+&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cat /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>iPhone 可以通过 iCloud 钥匙串同步，在 Mac 的&amp;quot;钥匙串访问&amp;quot;中查看。&lt;/p>
&lt;h2 id="安全防护建议">安全防护建议&lt;/h2>
&lt;p>既然你了解了 WiFi 密码的破解方式，也应该知道如何保护自己的网络：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>使用 WPA3&lt;/strong>：如果路由器支持，优先使用 WPA3 加密&lt;/li>
&lt;li>&lt;strong>设置强密码&lt;/strong>：12 位以上，混合大小写 + 数字 + 特殊字符&lt;/li>
&lt;li>&lt;strong>禁用 WPS&lt;/strong>：WPS 存在已知漏洞，容易被绕过&lt;/li>
&lt;li>&lt;strong>关闭 PMKID&lt;/strong>：在路由器设置中关闭（如果支持）&lt;/li>
&lt;li>&lt;strong>定期更换密码&lt;/strong>：尤其是当不信任的设备连接过你的网络时&lt;/li>
&lt;li>&lt;strong>使用访客网络&lt;/strong>：为访客设置独立的 WiFi 网络，与主网络隔离&lt;/li>
&lt;/ol>
&lt;h2 id="总结">总结&lt;/h2>
&lt;p>WiFi 密码恢复的核心步骤是：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>先检查路由器管理页面&lt;/strong>：可能直接看到密码&lt;/li>
&lt;li>&lt;strong>检查手机/电脑已保存的 WiFi 密码&lt;/strong>：Android、iOS、Windows、macOS 都可以查看&lt;/li>
&lt;li>&lt;strong>抓取握手包&lt;/strong>：使用 aircrack-ng 套件&lt;/li>
&lt;li>&lt;strong>破解密码&lt;/strong>：Hashcat（最快）、aircrack-ng（最简单）、&lt;a class="link" href="https://www.catpasswd.com" target="_blank" rel="noopener"
>猫密网&lt;/a>（最省心）&lt;/li>
&lt;/ol>
&lt;p>记住，本文所有方法仅限恢复自己拥有的 WiFi 网络密码。保护网络安全，从设置一个强密码开始。&lt;/p></description></item></channel></rss>