- 献词
- 致谢
- 前言
- 第一部分 IDA 简介
- 第 1 章 反汇编简介
- 第 2 章 逆向与反汇编工具
- 第 3 章 IDA Pro 背景知识
- 第二部分 IDA 基本用法
- 第 4 章 IDA 入门
- 第 5 章 IDA 数据显示窗口
- 第 6 章 反汇编导航
- 第 7 章 反汇编操作
- 第 8 章 数据类型与数据结构
- 第 9 章 交叉引用与绘图功能
- 第 10 章 IDA 的多种面孔
- 第三部分 IDA 高级应用
- 第 11 章 定制 IDA
- 第 12 章 使用 FLIRT 签名来识别库
- 第 13 章 扩展 IDA 的知识
- 第 14 章 修补二进制文件及其他 IDA 限制
- 第四部分 扩展 IDA 的功能
- 第 15 章 编写 IDA 脚本
- 第 16 章 IDA 软件开发工具包
- 第 17 章 IDA 插件体系结构
- 第 18 章 二进制文件与 IDA 加载器模块
- 第 19 章 IDA 处理器模块
- 第五部分 实际应用
- 第 20 章 编译器变体
- 第 21 章 模糊代码分析
- 第 22 章 漏洞分析
- 第 23 章 实用 IDA 插件
- 第六部分 IDA 调试器
- 第 24 章 IDA 调试器
- 第 25 章 反汇编器/ 调试器集成
- 第 26 章 其他调试功能
- 附录 A 使用 IDA 免费版本 5.0
- 附录 B IDC/SDK 交叉引用
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 15 章 编写 IDA 脚本
事实上,没有哪一个应用程序能够满足每名用户的一切需求。要想预测每一种可能出现的情况,几乎是不可能的事情。应用程序开发者面临两种选择:要么满足用户提出的无止境的功能要求,要么提供一种方法,供用户解决问题。IDA 采用了后一种方法,它集成了一个脚本引擎,让用户从编程角度对 IDA 的操作进行全面控制。
脚本的潜能无限,可用于开发简单的单行程序,也可以开发功能全面的程序,从而自动执行常见的任务,也能实现复杂的分析功能。从自动化的角度看,你可以将 IDA 脚本看成宏1 ;而从分析的角度看,IDA 脚本语言可看成是一种查询语言,它能够以编程方式访问 IDA 数据库的内容。IDA 使用两种不同的语言编写脚本。IDA 的原始嵌入式脚本语言叫做 IDC ,之所以取这个名称,可能是因为它的语法与 C 语言的语法非常相似。自 IDA 5.4 发布以来2 ,IDA 还通过集成由 Gergely Erdelyi3 开发的 IDAPython 插件来支持 Python 集成式脚本。本章剩余部分将介绍编写和执行 IDC 和 Python 脚本的基础知识,以及一些可供程序员使用的有用函数。
1. 许多应用程序可将操作序列记录到一个叫做“宏”的复杂操作中。重播或触发宏,将执行其记录的整个操作步骤。宏提供了一种简单的方法,可自动执行一系列复杂的操作。
2. 有关每个新版本的 IDA 引入的功能的完整列表,请访问 http://www.hex-rays.com/idapro/idanew48.htm 。
3. 参见 http://code.google.com/p/idapython/ 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论