往期推荐
昨天给大家概括性的了解了IDA工具,今天分享IDA工具的实际应用。
一:IDA打开so文件
1.首先打开IDA工具,进入选项界面,直接选中Go选项,如下图所示。

2.点击GO进入IDA工具的主界面,如下图所示。

3.将准备好的so文件案例拖至IDA工具中,此界面的选项选择默认即可,点击OK,如下图所示。

4.进入So文件反编译完成的提示界面,继续点击OK进入主界面,如下图所示。

5.进入IDA反编译so完成后的界面(IDA反编译需要一定的时间,编译过程要耐心等待),如下图所示。

二:IDA导航条
方框内的条码导航条,它包含蓝色、黑色、银白色、粉色以及暗黄色,每种颜色代表不同的涵义,如下图所示。

- 蓝 色: 表示常规的指令函数。
- 黑 色:节与节之间的间隙。
- 银白色:数据内容。
- 粉 色:表示外部导入符号。
- 暗黄色:表示ida未识别的内容。
三: IDA主界面
IDA的主界面包含7个窗口,如下图所示。

7个窗口的功能如下:
IDA View三种反汇编视图:文本视图、图表视图、路径视图反汇编窗口是当前数据的汇编指令窗口。

Strings 字符串窗口

Hex View 十六进制窗口十六进制窗口是编辑内存数据和代码。

Structures 结构体窗口

Enums 枚举窗口

Imports 导入函数窗口

Exports 导出函数窗口

四:IDA常用快捷键
1.空格键:切换文本视图与图表视图,如下图所示。

2.ESC:返回上一个操作地址。
3.G:搜索地址和符号,如下图所示。

4.N:对符号进行重命名,如下图所示。

5.冒号键:常规注释,如下图所示。

6.分号键:可重复注释,如下图所示。

7.Alt+M:添加标签,如下图所示。

8.Ctrl+M:查看标签,如下图所示。

9.Ctrl+S:查看节的信息,如下图所示。

10.X:查看交叉应用,如下图所示。

11.F5:查看伪代码,如下图所示。

12.Alt+T:搜索文本,如下图所示。

13.Alt+B:搜索十六进制,如下图所示。

14.代码数据切换
- C–>代码
- D–>数据
- A–>ascii字符串
- U–>解析成未定义的内容。
五:拷贝伪C代码到反汇编窗口
点击右键,如下图所示。

Edit comment:注释伪c代码。
copy to -assembly:拷贝伪C代码到反汇编窗口。
IDA可以通过修改so的hex操作数来修改so文件,具体的操作流程如下:右键点击“edit”进行修改,然后右键点击“edit-patchrogram”保存修改(提示:这里建议使用winhex来进行修改)。
小结
本次主要分享了主面板各项的功能以及快捷键的使用,这些都是需要记忆的内容。
如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程
安卓逆向交流学习:3543756281
vx:Yjxiaox
