IDA Pro 常用快捷键精要
IDA Pro 快捷键
1. 视图导航 (Navigation)
高效的视图切换与地址跳转是逆向分析的基础。
g: Go to address
跳转到指定地址或符号名。Esc: Navigate Back
后退,返回上一个视图位置Ctrl + Enter: Navigate Forward
前进,与 Esc 配合使用。Space: Graph/Text View Switch
切换图形模式与文本模式(反汇编视图)。Ctrl + 1/2/3...: Quick View
快速打开 Functions, Strings, Hex View 等子窗口。
2. 分析与反汇编 (Analysis & Decompilation)
逆向核心环节,处理反汇编质量与伪代码逻辑。
F5: Decompile
调用 Hex-Rays 反汇编器生成伪代码。Tab: Sync Pseudocode
在反汇编视图与伪代码视图之间同步光标位置,便于对照阅读。n: Rename
重命名函数、变量或标签。良好的命名是理解逻辑的第一步。y: Set Type
修改函数原型或变量类型。这是修正伪代码(如修复结构体、修正指针类型)最强大的工具。/: Inline Comment
在伪代码视图中添加注释。;: Assembly Comment
在反汇编视图中为选定行添加注释。
3. 数据定义 (Data Definition)
当 IDA 自动分析失准或遇到混淆时,需要手动定义数据类型。
u: Undefine
取消定义。将当前位置的代码或数据还原为原始字节。c: Code
强制将当前字节序列解析为指令代码。d: Data
在 Byte/Word/Dword/Qword 之间循环切换数据定义大小。a: ASCII String
将选定区域定义为 ASCII 字符串。*: Array
创建数组。定义数据后再按此键可指定数组长度。
4. 操作数格式化 (Operands & Formatting)
调整操作数的显示格式,让常量显露原型。
h: Hex/Decimal Toggle
在十六进制与十进制之间切换。r: Char/String
将立即数转换为字符(例如0x41->'A')。b: Binary
切换为二进制显示,在分析位运算(Bitmask)时非常有用。o: Offset
将立即数标记为数据段的偏移量(符号引用)。m: Enum Member
将数字转换为已定义的枚举成员。k: Stack Variable
将操作数转换为栈变量,用于修复栈帧分析。
5. 搜索与交叉引用 (Search & Cross-Ref)
追踪调用链与数据流向。
x: Cross-references (Xrefs)
查看交叉引用。追踪谁调用了这个函数或谁引用了这个字符串。Shift + F12: Strings Window
打开字符串窗口,CTF 选手的常用起手式。Alt + t: Text Search
全文文本搜索。Alt + b: Binary Search
十六进制字节搜索,寻找特征码或 Shellcode。Ctrl + f: Quick Filter
在当前的列表(如函数列表、字符串窗口)中快速过滤。
参考资源
- Lesser-known keyboard shortcuts in IDA
- 先知社区:IDA Pro 使用技巧总结