Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318885
  • 博文数量: 60
  • 博客积分: 2781
  • 博客等级: 少校
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-23 16:42
文章分类

全部博文(60)

文章存档

2011年(33)

2010年(27)

分类: C/C++

2011-01-16 11:18:13

IDA Plugin插件结构如下图所示:

IDP_INTERFACE_VERSION:常量,定义在SDK的某个文件中。

plugin_flags:定义插件如何与IDA进行交互操作,不同的flags定义在loader.hpp文件中,当调试plugin的时候,将该值设置成0或是PLUGIN_UNL

inittermrun三者是函数指针。

init:当插件加载时,执行init函数用来判断该插件是否可应用于当前的数据库idb,因为插件区别不同的处理器架构和文件格式。init函数的额外功能是一旦run函数执行后便为插件设置环境。init函数返回结果分为三种:PLUGIN_SKIP,当处理器架构或文件格式不合适的时候,插件不能加载;PLUGIN_OK,插件合适,在使用时加载;PLUGIN_KEEP,插件合适并将其驻留在内存中。

term:当IDA退出的时候,term函数执行用来清理插件执行期间占用的资源,许多插件将其设置成NULL

run:运行插件执行run函数,可以通过在插件配置文件plugins.cfg中添加传递给插件的参数。

comment:介绍插件的字符串指针。(IDA未使用)

help:插件的多行帮助说明的字符串指针。(IDA未使用)

wanted_name:插件名。

wanted_hotkey:插件的热键。
阅读(4549) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~