Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
MicrocodeDecryptor — 解密 Intel Atom 微码更新,并使用恢复的 RC4 密钥解包 XuCode,揭示内部 CPU 微码结构,用于硬件安全研究。 | Kitploit
工具/GitHubGitHub/chip-red-pill/microcodedecryptor
逆向工程密码学硬件安全二进制分析固件分析
GitHubchip-red-pill/microcodedecryptor

MicrocodeDecryptor

解密 Intel Atom 微码更新,并使用恢复的 RC4 密钥解包 XuCode,揭示内部 CPU 微码结构,用于硬件安全研究。

查看仓库
1.5k1144年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

免责声明

所有信息仅供教育目的使用。请自行承担遵循这些说明的风险。对于任何个人或组织基于本页信息行事或未行事而产生的任何直接或间接损害或损失,作者及其雇主均不承担责任。

描述

2020 年初,我们发现了 Red Unlock 技术,该技术能够提取 Intel Atom 微码。我们得以研究微码的内部结构,进而研究 x86 指令的实现。此外,我们还还原了微码更新的格式、算法以及用于保护微码的加密密钥(参见 RC4)。

常见问题解答

  1. 我可以制作自定义微码更新吗?

不,你不能。仅支持解密,因为微码具有用于完整性保护的 RSA 签名。

  1. 支持哪些类型的 CPU?

微码更新解密密钥取决于 CPU 世代。我们已为 Intel Gemini Lake(Goldmont Plus 微架构)和 Intel Apolo Lake(Goldmont 微架构)世代提取了密钥。参见支持的 CPU 列表

  1. 你们是如何提取密钥的?

我们利用 Intel TXE 中的漏洞激活了一种未公开的调试模式,称为 red unlock,并直接从 CPU 中提取了微码转储。我们在其中找到了密钥和算法。

  1. 在哪里可以找到更多相关信息?

请观看我们在 OffensiveCon22 上的演讲 Chip Red Pill:我们如何在 Intel Atom CPU 内部执行任意微码。

Python

我们所有的脚本均使用 Python 编写。建议使用 Python 3。这些脚本需要 pycryptodome 包。要安装 pycryptodome,请运行以下命令:

root@kitploit:~
pip3 install pycryptodome

解密微码更新

针对 Apolo Lake CPU,运行脚本 dec_uUpd_Atom_apl.py:

root@kitploit:~
C:\microcode>py -3 dec_uUpd_Atom_apl.py cpu506C9_plat03_ver00000040_2020-02-27_PRD_2FC3D618_.bin
Hash matched at length 0x3E00 (15872)
Data entropy: 6.898306

针对 Gemini Lake CPU,运行脚本 dec_uUpd_xu_Atom_glp.py:

root@kitploit:~
C:\microcode>py -3 dec_uUpd_xu_Atom_glp.py cpu706A8_plat01_ver00000018_2020-06-09_PRD_1D9A5DFE.bin
Patch hash matched: enc size: 0x3480
Patch data entropy: 6.438890
XuCode hash matched: size: 0xed40
XuCode data entropy: 7.752765

解包已解密的 XuCode(仅适用于 Goldmont Plus)

针对 Goldmont Plus CPU,运行脚本 XuUnp.py:

root@kitploit:~
C:\microcode>py -3 XuUnp.py cpu706A8_plat01_ver00000018_2020-06-09_PRD_1D9A5DFE.bin.xu.dec
Processing cpu706A8_plat01_ver00000018_2020-06-09_PRD_1D9A5DFE.bin.xu.dec
. ELF at 0x28
. Parking: 0xD58+944
. XuRT: 0x16EC+D404
. Decompressing 54276 -> 101448, be patient...
+ Unpacked OK

截图

关于 XuCode

XuCode 是 SGX 技术的软件部分,微码更新中集成了 ELF 文件。 截图

参见:XuCode:实现复杂指令流的一项创新技术

支持的 CPU 列表

以下 CPU 的微码更新可以被解密:

研究团队

Mark Ermolov (@_markel___)

Maxim Goryachy (@h0t_max)

Dmitry Sklyarov (@_Dmit)

下载工具
处理器型号微架构SGX / XuCode 支持
Pentium J4205Goldmont, Apollo Lake-
Celeron J3455Goldmont, Apollo Lake-
Celeron J3355Goldmont, Apollo Lake-
Pentium N4200Goldmont, Apollo Lake-
Celeron N3450Goldmont, Apollo Lake-
Celeron N3350Goldmont, Apollo Lake-
Atom x7 E3940Goldmont, Apollo Lake-
Atom x5 E3930Goldmont, Apollo Lake-
Atom x7 A3960Goldmont, Apollo Lake-
Atom x7 A3950Goldmont, Apollo Lake-
Atom x5 A3940Goldmont, Apollo Lake-
Atom x5 A3930Goldmont, Apollo Lake-
Atom C3958Goldmont, Denverton-
Atom C3955Goldmont, Denverton-
Atom C3858Goldmont, Denverton-
Atom C3850Goldmont, Denverton-
Atom C3830Goldmont, Denverton-
Atom C3808Goldmont, Denverton-
Atom C3758Goldmont, Denverton-
Atom C3750Goldmont, Denverton-
Atom C3708Goldmont, Denverton-
Atom C3558Goldmont, Denverton-
Atom C3538Goldmont, Denverton-
Atom C3508Goldmont, Denverton-
Atom C3338Goldmont, Denverton-
Atom C3308Goldmont, Denverton-
Pentium Silver J5005Goldmont Plus, Gemini Lake+
Celeron J4105Goldmont Plus, Gemini Lake+
Celeron J4005Goldmont Plus, Gemini Lake+
Pentium Silver N5000Goldmont Plus, Gemini Lake+
Celeron N4100Goldmont Plus, Gemini Lake+
Celeron N4000Goldmont Plus, Gemini Lake+
Pentium Silver N5030Goldmont Plus, Gemini Lake Refresh+
Celeron N4120Goldmont Plus, Gemini Lake Refresh+
Celeron N4020Goldmont Plus, Gemini Lake Refresh+