这是关于IDA Pro的一个非常幼稚的问题。 IDA调试器启动后,我希望能够键入一个内存地址(或一个内存区域)并轻松查看它的内容(各种格式)。使用gdb可以执行print /x *0x80456ef,或者如果需要更宽的区域,可以执行x /6x 0x80456ef

,那么,从IDA调试器显示内存内容的最佳方法是什么?

#1 楼

在IDAPython(文档)中,您可以执行以下操作来打印字节/字/双字:

Dword(0x80456ef)
Word(0x80456ef)
Byte(0x80456ef)


或者打印任意数量的字节:

for b in GetManyBytes(0x40138E, 10):
    print "%X" % ord(b)


如果在调试器中运行,请像这样调用它:

GetManyBytes(0x40138E, 10, True)


评论


好的,我尝试在IDC中编写Dword(0x80456ef),它可以正常工作。非常感谢 !但是,有人知道我们在哪里可以找到IDC中可用的完整语言吗?它与idapython语言完全匹配吗?还是更多?

–恐怖
13年4月23日在8:31



奇怪的是,由于“ True”,您给出的最后一个命令在我的IDA Linux上不起作用,您需要编写:GetManyBytes(0x804928c,10,1)使其起作用。

–恐怖
13年4月23日在8:34

如果您搜索IDC,则IDA帮助文件中有文档。另外,idapython在idc.py中包含IDC函数的包装。

– newgre
13年4月23日在8:34

@newgre:我认为为了完整起见,IDC版本也应包含在其中一条不同的语句中(忽略分号)。 +1

– 0xC0000022L♦
13年4月23日在12:15

有关完整文档,请参见idc.idc。

–伊戈尔·斯科钦斯基♦
13-4-23在12:57



#2 楼

您还可以将光标置于代码,十六进制视图或堆栈视图窗口之一中,然后按“ g”以弹出“跳转到地址”对话框。

评论


在hexview中,您可以选择要用来查看hexdump的格式。

–威廉·亨格维尔德(Willem Hengeveld)
13年4月25日在8:10

我喜欢在命令窗口中双击地址。如果您使用脚本来计算地址,这是一种简单的跳转方法。

– amccormack
13年6月5日,下午1:38