在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:操作數
@return:
值操作數是立即數=>立即值
操作數具有位移=>位移
操作數是直接存儲器ref =>存儲器地址
operand是一個寄存器=>寄存器編號
operand是一個寄存器短語=>短語編號
否則=> -1 “”“
如何訪問“短語”的元素,即 rsp
, 3F8h
和 var_3F8 ?我正在尋找這樣的東西:
my_op_phrase = idc.ParseOperandPhrase(ea,n)my_op_phrase [0]#->'rsp'my_op_phrase [0] .type#-> idaapi.o_regmy_op_ase [1]#-> 0x3F8hmy_op_phrase [1] .type#-> idaapi.o_immmy_op_phrase [2]#->'var_3F8'...
這是否可能還是我誤會了? / p>