IDA Pro 快速入门
IDA Pro 两种模式
两种模式分别为
- 图形模式
- 文本模式
可以通过空格键进行模式切换
注意:需要在左侧函数窗口选择函数后才能切换图形模式
图形模式
顾名思义,以图形的结构表现逻辑关系
箭头的各种颜色含义:
- 红色:一个条件跳转没有被采用
- 绿色:一个条件跳转被采用
- 蓝色:一个无条件跳转被采用
文本模式
传统的视图模式,用来查看二进制数据区
左侧部分是箭头窗口
- 虚线:条件跳转
- 实线:无条件跳转
各种分析窗口
IDA pro 加载目标文件后会出现各种各样类似浏览器的窗口页面,这些窗口可以通过View-subview选择显示。
- 函数窗口:列举可执行文件中的所有函数(默认在左侧),类似于一个表格,有很多属性供排序(如函数的长度,可以在一方面说明函数的重要性),还有一些标志(F/L/S)等,其中L指库函数,一般情况下可以跳过L函数,方便分析。
- 名字窗口:列举每个地址的名字(函数、命名代码、命名数据、字符串)
- 字符串窗口:显示所有字符串(默认显示长度大于5个字符的ASCII字符串,可以右键设置)
- 导入表窗口:所有导入函数
- 导出表窗口:所有导出函数(分析DLL文件时很有用)
- 结构窗口:列举活跃的数据结构的布局(不太懂)
返回默认,防止迷路
Windows-Reset Desktop
简单恢复GUI设置,即回到默认视图,但不会更改任何完成的任务或者反汇编工作
可以通过Windows-Save desktop保存这个新的视图。(形成大佬的个人风格
交叉引用,链接
交叉引用:可以双击目标在不同窗口间跳转到细节
常见可以双击跳转的目标:
- 函数 如:printf、sub_4010A0
- offset偏移
- 本地链接 如:loc_40107E
- 字符串:跳转到字符串在内存中被定义的位置
跳转地址
快捷键G
导航栏 - 线性视图FLIRT
浅蓝色:被FLIRT识别的库代码
红色:编译器生成的代码
深蓝色:用户编写的代码
导入的数据:粉红色
已定义的数据:灰色
未定义的数据:棕色
FLIRT不完美,尤其老版本,可能不能正确识别和标记所有的库代码
万能的搜索
Search
可以在搜索结果中双击跳转至目标位置,非常方便