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)

  • 相关阅读:
    02-MySQL的安装和管理
    01-pymysql模块的安装
    异常处理
    USACO 2015 Feb Censoring
    玄武密码(bzoj4327)(JSOI2012)
    浅谈AC自动机
    Equation
    JOI五子棋
    浅谈Tarjan
    年轮蛋糕JOI2014Final
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10810281.html
Copyright © 2011-2022 走看看