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