4

In my code, I am using idc.GetOpnd(ea,0) and idc.GetOpnd(ea,1) to get the 2 operands of an instruction. However, if its a call (or jmp) instruction, I am getting symbols like _perror and loc_8083BA9.

Using IDAPython, is it possible to remove all the symbols and deal only with memory locations.

Maggie
  • 195
  • 4

1 Answers1

3

Use GetOperandValue instead of GetOpnd to get the memory location.

Python>GetOpnd(0xb77a2d99,0)
__Unwind_Resume
Python>'%x'%(GetOperandValue(0xb77a2d99,0))
b76fc24e
ebux
  • 1,759
  • 9
  • 17