逆向學習-IDApython(三)


操作數

  idc.GetOpType(ea,n)獲取操作數類型。ea是地址,n是索引。

  o_void

    如果指令沒有任何操作數,它將返回 0。

  o_reg

    如果操作數是寄存器,則返回這種類型,它的值為 1

  o_mem

    如果操作數是直接尋址的內存,那么返回這種類型,它的值是 2,這種類型對尋找 DATA的引用非常有幫助。

  o_phrase

    如果操作數是利用基址寄存器和變址寄存器的尋址操作的話,那么返回該類型,值為 3

  o_displ

    如果操作數是利用寄存器和位移的尋址操作的話,返回該類型,值為 4

  o_imm

    如果操作數是一個確定的數值的話,那么返回類型,值為 5

  o_far

    這種返回類型在 x86 和 x86_64 的逆向中不常見。它用來判斷直接訪問遠端地址的操作數,值為 6

  o_near

    這種返回類型在 x86 和 x86_64 的逆向中不常見。它用來判斷直接訪問近端地址的操作數,值為 7

交叉引用(Xrefs)

  能夠定位 data 段和 code 段的交叉引用是非常重要的,交叉引用的重要性在於它能夠提供某個確定的數據或者某個函數被調用的位置。

補丁

   idc.PatchByte(ea, value)   

  idc.PatchWord(ea, value)

  idc.PatchDword(ea, value)

訪問原始數據

  idc.Byte(ea)i

  dc.Word(ea)

  idc.Dword(ea)

  idc.Qword(ea)

  idc.GetFloat(ea)

  idc.GetDouble(ea)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM