IDA处理器模块开发详解
1. 引言
在实现Python处理器的任何行为之前,我们需要完成LPH结构的初始化。这是构建处理器模块的基础步骤,为后续的指令分析和模拟工作做好准备。
2. 处理器结构体初始化
2.1 processor_t结构体的前五个字段
| 字段 | 描述 |
|---|---|
| int version | 应设置为IDP_INTERFACE_VERSION,插件和加载器模块也需要该字段 |
| int id | 自定义处理器模块时,应设置为大于0x8000的自赋值 |
| ulong flag | 处理器特性,是idp.hpp中定义的PR_xxx标志的按位或 |
| int cnbits | 代码段中一个字节的位数,通常为8 |
| int dnbits | 数据段中一个字节的位数,通常为8 |
对于Python处理器,我们在flag字段中仅指定PR_RNAMESOK(允许寄存器名作为位置名)和PRN_DEC(将默认数字显示格式设置为十进制),cnbits和dnbits都设置为8。
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



