IDApython里面常用的函数
指令
| import idc |
| |
| idc.GetDisasm(ea) |
| |
| idc.prev_head(ea) |
| |
| idc.next_head(ea) |
| |
| idc.print_insn_mnem(ea) |
| |
| idc.create_insn(ea) |
| |
| idc.print_operand(ea, n) |
| |
| |
| |
| |
| get_operand_type(ea,n) |
| |
| idc.get_operand_value(ea,n)获取操作数的值 |
段操作
| import idc |
| import idautils |
| import idaapi |
| |
| |
| |
| for seg in idautils.Segments(): |
| print(idc.get_segm_name(seg),idc.get_segm_start(seg),idc.get_segm_end(seg)) |
函数的操作
| import idc |
| |
| |
| start_ea = idc.get_func_attr(ea, 0) |
| |
| end_ea = idc.get_func_attr(ea, 4) |
| end_ea = idc.find_func_end(ea) |
| ''' |
| 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.get_prev_fchunk(ea) |
| idc.get_prev_func(ea) |
| |
| idc.get_next_fchunk(ea) |
| idc.get_next_func(ea) |
| |
| idc.get_func_name(ea) |
| |
| |
数据的提取和修改
| import idc |
| |
| |
| idc.get_bytes(ea, size, use_dbg = False) |
| idc.get_wide_byte(ea) |
| idc.get_wide_word(ea) |
| idc.get_wide_dword(ea) |
| idc.get_qword(ea) |
| |
| idc.get_reg_value(string Register) |
| idc.set_reg_Value(long Value, string Register) |
| patch_byte(ea, value) |
| patch_word(ea, value) |
| patch_dword(ea, value) |
| patch_qword(ea, value) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通