在我的代码中,我使用idc.GetOpnd(ea,0)idc.GetOpnd(ea,1)获取指令的2个操作数。但是,如果它是一个call(或jmp)指令,我将得到像_perrorloc_8083BA9这样的符号。

使用IDAPython,可以删除所有符号并仅处理内存位置。

#1 楼

使用GetOperandValue而不是GetOpnd获取内存位置。


Python>GetOpnd(0xb77a2d99,0)
__Unwind_Resume
Python>'%x'%(GetOperandValue(0xb77a2d99,0))
b76fc24e