从零开始的IDA¶
对于re手来说,最基础和最重要的工具就是我们的 老婆 IDA 了。
IDA Pro(Interactive Disassembler Professional)简称“IDA”,是Hex-Rays公司出品的一款交互式反汇编工具,是目前最棒的静态反编译软件~之一~。
随意打开一个文件,我们可以看到主界面

Function¶
左边的Function视窗,我们可以看到程序内识别出的所有函数。
Ctrl+F还可以搜索我们想找的函数

IDA View-A¶
右侧IDA View-A我们可以看到反汇编得到的汇编代码,以及控制流。
按空格键可以切换 “平铺” 和 “控制流” 两种模式。
平铺模式可以让我们看到所有代码在内存中保存的位置、顺序。
控制流模式可以让我们清晰地看到程序控制流的变化。
IDA View-A下的其他快捷键:
-
G:指定地址跳转 -
P:解析函数 -
C:将数据转化为代码 -
D:将代码转化为数据 -
Shift+E:提取数据
在IDA View-A视窗下按Tab或F5就可以自动将汇编代码翻译成**伪C语言代码**。(也就是传说中的 “万能F5” )
伪C代码可以近似当做C语言代码阅读,只是有些地方语法不一定准确,也会受到源程序编码语言的影响 (如Rust语言反编译出的依托答辩)

Pseudocode-A¶
Pseudocode-A视窗下的快捷键:
- /:添加注释
- \:隐藏类型描述
- Y:更改变量类型
- R:将选中的数字转换为相应的ASCII字符
- X:查看函数的交叉引用
- N:更改变量名称
String¶
除此之外
Shift+F12:打开String界面,查看字符串
至此,你就大致掌握了逆向工程最基础的静态分析工具!