IDA Python 常用函数
IDA Python 常用函数
官方文档
https://www.hex-rays.com/products/ida/support/idapython_docs/
读取
读取汇编信息
获取指定地址助记符
print_insn_mnem(ea)
获取上一条/下一条指令的地址
prev_head(ea)
next_head(ea)
超出当前函数边界后会跳至下一个函数
获取指定地址的第 n 个操作数
print_operand(ea,n)
如对于 0x40100 vpxor ymm3,ymm4,ymm5
1 | >>>print_operand(0x40100,0) |
获取指定地址的第 n 个立即数
get_printable_immvals(ea, n)
获取指定地址处的反汇编
GetDisasm(ea)
读取函数信息
获取一个地址范围内所有函数的地址
Functions(start_ea,end_ea)
返回一个 Python ·迭代器·对象
获取函数边界
get_func_attr(0x140008070,FUNCATTR_START)
get_func_attr(0x140008070,FUNCATTR_END)
获取当前地址的下一个/上一个函数
get_next_func(ea)
get_prev_func(ea)
读取数据
获取指定地址的字符串
get_strlit_contents(ea)
返回 Python bytes 类型
获取指定地址指定数量的bytes
get_bytes(ea,num)
返回 Python bytes 类型
获取指定地址的数据
1 | ida_bytes.get_qword() |
读取调试时寄存器的值
get_reg_val()
写入
修改数据
1 | ida_bytes.patch_byte(ea,number) |
常用脚本片段
读取某地址范围内所有汇编助记符
1 | ea=startAddress |
列出某地址范围内的所有函数地址
1 | for i in Functions(startAddress,endAddress): |
使用脚本控制调试,dump 数据
1 | from idaapi import * |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 4nsw3r's Blog!
评论