אמור בהתחשב בשורה הבאה ב- 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: מספר האופראנד
@ החזרה:
ערך אופרנד הוא ערך מיידי => ערך מיידי
אופרנד הוא בעל תזוזה => עקירה
אופראנד הוא זיכרון ישיר ref => כתובת זיכרון
אופרנד הוא רישום => מספר רישום
אופרנד הוא ביטוי רישום => מספר ביטוי
אחרת => -1 "" "
כיצד אוכל לגשת לאלמנטים של 'הביטוי', כלומר rsp
, 3F8h
ו- var_3F8 ? אני מחפש משהו כזה:
my_op_phrase = idc.ParseOperandPhrase (ea, n) my_op_phrase [0] # -> 'rsp'my_op_phrase [0] .type # -> idaapi.o_regm_o [1] # -> 0x3F8hmy_op_phrase [1] .type # -> idaapi.o_immmy_op_phrase [2] # -> 'var_3F8' ...
האם זה בכלל אפשרי או האם אני לא בסדר? / p>