在 Ida Pro 中给出以下行说:
mov [rsp+3F8h+var_3F8], 0
我怎样才能解析和访问里面的项目[ ]
?我试过的:
idc.GetOpnd(addr, n)
# 返回一个字符串 '[rsp+3F8h+var_3F8]
'idc.GetOperandValue(addr, n)
#返回4
,这是在说明idc.py文件如下
def GetOperandValue(ea, n): """
获取操作数中使用的数字此函数返回操作数中使用的立即数
@param ea:指令的线性地址 @param n:操作数
@返回:
value 操作数是一个立即数 => 立即数
操作数有位移 => 位移
操作数是直接内存引用 => 内存地址
操作数是一个寄存器 => 寄存器号
操作数是一个寄存器短语 => 短语编号
否则 => -1
"""
我怎样才能访问“这句话”,即中的元素rsp
,3F8h
和var_3F8
?我正在寻找这样的东西:
my_op_phrase = idc.ParseOperandPhrase(ea, n)
my_op_phrase[0] #-> 'rsp'
my_op_phrase[0].type #-> idaapi.o_reg
my_op_phrase[1] #-> 0x3F8h
my_op_phrase[1].type #-> idaapi.o_imm
my_op_phrase[2] #-> 'var_3F8'
…
这甚至可能还是我误解了什么?