一名硬件黑客Czernobyl(又名Czerno)近日宣称,他发现了amd处理器内的隐藏的一种调试机制,可以让人们从中更精准地了解amd芯片是如何工作的,并且有望对其进行逆向工程。
Czerno声称,自从Athlon XP以来,amd的处理器中都有一种基于固件的调试机制,相比传统架构上定义的x86功能有相当大的扩展,但一直都被深深地藏了起来。
Czerno解释说,他在浏览未记录的MSR寄存器清单时发现,有四种新的MSR与这种拓展调试能力有关,分别是:
Control @ C001_1024 width: 8 bits
Data_Match @ C001_1025 width 32 [amd64: 64?]
Data_Mask @ C001_1026 – ditto –
Address_Mask @ C001_1027 width: 12 bits
这四种寄存器的默认/重置值都是0。amd从来没有在任何场合提及过它们,所以谁也不知道究竟有什么秘密隐藏其中,猜测可能与微处理器内置自我测试有关,或者用于在开发期间测试处理器的微代码。
这四种寄存器都被加密保护着,普通的读写访问(RDMSR/WRMSR)根本无法进入,只会看到GPF例外错误,必须在变址寄存器(EDI)处输入正确的秘密"9C5A203A"才行。
Czerno表示他还在对这一新发现进行更深入的直接试验,希望能给软件开发人员提供一些新东西,比如用于调试器、调试器插件等等。
对更深入技术细节感兴趣的可以点击这里。