zoukankan      html  css  js  c++  java
  • 逆向学习-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)

  • 相关阅读:
    HDOJ 1069_大二写
    HDOJ 2037:今年暑假不AC_大二写
    第二次HDOJ:1058
    HDOJ 1019
    第二次 HDOJ 1003
    第二次做HDOJ 1051
    memset()的用法
    数据结构中的频度含义
    程序框图的书写
    python课堂整理22----装饰器进阶
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10810281.html
Copyright © 2011-2022 走看看