爬虫进阶-初探IDA

什么是IDA

IDA是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或Linux WinCE MacOS平台主机的反汇编工具。可以用来在Android逆向分析过程中分析So文件。

安装

链接:https://pan.baidu.com/s/1tfrOBgaivvog1FFC5myZGA 
提取码:exmd 

爬虫进阶-初探IDA

安装完成后打开,点击New,选择需要分析的so文件(或者将so文件拖动到IDA窗口上)打开,如下图。

 

爬虫进阶-初探IDA

 导航条:

蓝色:常规指令函数

黑色:节与节之间的间隙

银白色:数据内容

粉色:外部导入的符号

暗黄色:IDA未能识别的内容

主面板:

IDA-View:三种反汇编视图,文本视图,图标视图,路径视图。

HEX-View:十六进制窗口

Imports:导入表

Exports:导出函数表

Enums:枚举窗口

Structures:结构体窗口

 

常用快捷键

空格键:切换文本视图和图表视图

ESC:返回上一个操作地址

G:搜索地址和符号

N:对符号进行重命名

冒号键:常规注释

分号键:可重复注释

Alt+M:添加标签

Ctrl+M:查看标签

Ctrl+S:查看节的信息

X:查看交叉应用

F5:查看伪代码

Alt+T:搜索文本

Alt+B:搜索十六进制

代码数据切换:C-->代码/D-->数据/A-->ascii字符串/U-->解析成未定义的内容

拷贝伪C代码到反汇编窗口:右键>copy to -assembly

IDA可以修改so的hex操作数来修改so文件,右键点击 “edit”进行修改,然后右键点击 “edit-patchrogram”提交。

静态分析

1.分析函数。

2.阅读ARM指令。

3.查看跳转逻辑

4.查看伪代码窗口

5.查看伪代码相应逻辑

6.复制伪代码到汇编窗口结合查看。

7.梳理整个逻辑