全部博文(60)
分类: WINDOWS
2011-01-15 14:03:49
IDA Pro的功能由四大模块(modules)支持,分别是(基于Windows/IA-32平台):
l Plug-in 插件:利用SDK提供的API,完善IDA Pro的功能,扩展名plw。
l Loaders 加载器:将可执行文件载入内存,进行分段,扩展名ldw。
l Processor 处理器:将可执行程序的机器码反汇编成汇编代码,扩展名w32。
l Debuggers 调试器:IDA Pro自带的调试器。
上述四个模块均能通过Hex-rays公司提供的SDK得到扩展,因为 SDK提供了大量的API,这些API可以涉及到IDA Pro软件的系统层,用户通过编写调用这些API的C++程序达到扩展IDA Pro功能的目的。目前使用最为广泛的就是利用SDK开发IDA Pro插件,所以重点讨论如何开发插件。
既然需要利用IDA Pro SDK提供的API,那么就需要了解SDK里到底有些什么文件?我使用的SDK是基于5.2版本的,解压后对SDK包含的文件夹做简单的说明如下:
l include:涵盖了SDK所有的头文件。
l ldr:SDK支持的loaders模块(含源码)。
l module:SDK支持的processor模块(含源码)。
l libvc.w32:SDK支持在32位Windows环境下用Vistual Studio开发的插件。
l plugins:已经完成作为示例的plugins(含源码)。
如何使用SDK呢?头文件中以ida_export开头的函数可以使用,以ida_export_data开头的数据可
以使用,此外SDK中定义的class, structure和enum均可使用。
关于include头文件的说明,参考SDK根目录下的readme.txt文件。