如何食用idapython
基础知识
IDA菜单栏File选项下的Script file…对应导入脚本,Script command…对应自行编写命令
编写命令主要有两种脚本语言:IDC和Python。IDC是IDA自带的脚本语言(类似 C 语言), IDA后来加入Python支持,是现在主流语言,下面以Python为例介绍
如果无法选择Python大概率是IDA找不到可用的Python,可以双击IDA文件夹路径下的idapyswitch查看可用Python版本
idapython核心有如下3个python模块:
- idc模块负责提供IDC中所有的函数功能;
- idautils提供大量的实用函数,其中许多函数可生成各种数据库相关对象(如函数或交叉引用)的python列表;
- idaapi 允许使用者通过类的形式,访问更多底层的数据;
需要注意的是idapython会自动导入idc和idautils模块,idaapi模块需要自己手工导入
无论读写内存,单词和对应字节长度关系如下:
- byte<->1字节
- word<->2字节
- dword<->4字节
- qword<->8字节
主要用法
获取值
idc.get_wide_byte(addr):获取addr对应的字节
1 | start_addr = 0x7FF671784040 |
修改值
ida_bytes.patch_byte(addr,value):修改addr对应的字节
1 | for i in range(0x140011000,0x140012e00): |
打印寄存器值
1 | eax = get_reg_value('eax') |
idapython完整用法可参考:
https://wonderkun.cc/2020/12/11/idapython%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
- 标题: 如何食用idapython
- 作者: j1ya
- 创建于 : 2025-08-23 21:39:55
- 更新于 : 2026-08-24 08:40:55
- 链接: https://redefine.ohevan.com/2025/08/23/如何食用idapython/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论