问题描述
我正在使用 IDA 免费软件调试器来调试 .exe 文件。我在程序中放置了一个断点。如下图所示。我需要知道此时“eax”寄存器中的值是什么(这在下图中以黄色突出显示)。有没有办法找到这个值?
解决方法
寄存器转储就在显示屏的右上角。它显示了 64 位寄存器,但 EAX 只是 RAX 的低 32 位(参见 What do the E and R prefixes stand for in the names of Intel 32-bit and 64-bit registers?)。所以只需阅读最右边的 8 个十六进制半字节。程序中此时 EAX 的值为 0xCB7475E2
。
您同样可以读取其他部分寄存器的值。 AX = 0x76E2
、AH = 0x76
、AL = 0xE2
。