qq群:555054687

idapython函数笔记(持续更新)

idaapi.decode_insn(ea)  //得到当前地址指令的长度

idc.GetMnem(ea)            //当前当前地址指令的操作符

idc.GetOpnd(ea,n)            //当前地址指令的操作数,n=0或者1,表示是第一个何时第二个操作数

idc.LocByName(str)            //根据字符串找到当前函数的地址

idc.FindFuncEnd(ea)            //找到当前地址的函数结束地址

idautils.CodeRefsTo(ea,1)    //得到引用当前地址的地址

idautils.CodeRefsFrom(ea,1)    //当前地址引用的地址

idc.GetFunctionAttr(ea, attr)   //得到当前地址所在函数的数据

(

FUNCATTR_START   =  0     # function start address

FUNCATTR_END     =  4     # function end address

FUNCATTR_FLAGS   =  8     # function flags

FUNCATTR_FRAME   = 10     # function frame id

FUNCATTR_FRSIZE  = 14     # size of local variables

FUNCATTR_FRREGS  = 18     # size of saved registers area

FUNCATTR_ARGSIZE = 20     # number of bytes purged from the stack

FUNCATTR_FPD     = 24     # frame pointer delta

FUNCATTR_COLOR   = 28     # function color code

FUNCATTR_OWNER   = 10     # chunk owner (valid only for tail chunks)

FUNCATTR_REFQTY  = 14     # number of chunk parents (valid only for tail chunks)

)

idc.GetDisasm(ea)            //得到当前地址的汇编代码

idaapi.decode_insn(ea)    //得到当前指令的大小

idc.AskStr(defval, prompt)    //defval:默认字符串    prompt:提示信息

idc.AskAddr(defval, prompt)  //defval:默认地址   prompt:提示信息

例子:

for x_ref in idautils.CodeRefsTo(ea,1) :    

    print x_ref


评论

© fcc_load | Powered by LOFTER