- 献词
- 致谢
- 前言
- 第一部分 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.1 执行脚本的基础知识
在深入学习脚本语言之前,我们有必要了解执行脚本的常用方法。3 个菜单选项,File▶Script File 、File▶IDC Command 和 File▶ Python Command1 ,可用于访问 IDA 的脚本引擎。选择 File▶Script File 表示你希望运行一个独立的脚本,这时,IDA 会显示一个选择文件对话框,让你选择想要运行的脚本。每次运行一个新的脚本,这个程序都被添加到最近运行的脚本列表中,以方便你以后编辑或再次运行这个脚本。通过 View▶Recent Scripts 菜单项访问的 Recent Scripts 窗口如图 15-1 所示。
1. 如果正确安装了 Python ,只有这个选项可用。详细信息可参见第 3 章。
图 15-1 Recent Scripts 窗口
双击列出的脚本可执行该脚本。一个弹出式上下文菜单将提供各种选项,可用于从列表中删除脚本,或使用在 Misc (杂项)选项卡上的 Options ▶ General(选项▶常规)下指定的编辑器对打开的某个脚本进行编辑。
另外,要执行一个独立的脚本文件,可以使用 File ▶ IDC Command 或者 File ▶ Python Command 打开一个脚本输入对话框,如图 15-2 所示(本例中使用的是 IDC 脚本)。如果只想执行少数几个语句,而又不愿意单独创建一个脚本文件,这时就可以使用这个对话框。
图 15-2 脚本输入对话框
你只能在脚本对话框中输入某些类型的语句。但是,如果你不需要创建一个功能全面的脚本文件,这个对话框会非常有用。
执行脚本命令的最后一个方法是使用 IDA 的命令行。这个命令行仅适用于 GUI 版本的 IDA ,并且由<IDADIR>/cfg/idagui.cfg 中的 DISPLAY_COMMAND_LINE
选项控制。自从 IDA5.4 以来,这个命令行默认都是启用的。该命令行如图 15-3 所示,它位于 IDA 工作区的左下角、输出窗口的下面。
图 15-3 IDA 命令行
将用于执行命令行的解释器在命令行输入框的左侧标注。在图 15-3 中,IDA 配置命令行执行 IDC 语句。单击此标签,将打开如图 15-3 所示的弹出式菜单,可将解释器(IDC 或 Python )与命令行关联起来。
虽然命令行中仅仅包含一行文本,但是,你可以在其中输入多个 IDC 语句,并用分号将它们分隔开来。你可以使用向上箭头键访问最近运行的命令。如果需要经常执行非常短小的脚本,启用 IDA 命令行非常有用。
了解了基本的脚本执行功能后,接下来我们将详细了解 IDA 的两种脚本语言,IDC 和 Python 。我们首先介绍 IDA 的本地脚本语言 IDC ,然后讨论 IDA 对 Python 的集成(Python 在很大程度上依赖于我们在接下来几节中介绍的 IDC )。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论