IDA介绍
IDA是一个用于静态分析程序的软件。
所谓静态和动态就是指是否执行调试运行来处理。OllyDBG是进行修改调试,而IDA用于观察程序。
有一些程序不适合动态处理,比如病毒木马程序,一旦执行就会导致意外。所以就有了静态处理的重要性。
安装IDA
https://www.cncrk.com/downinfo/269648.html
初次进入IDA
在安装好IDA后,有两个可执行文件IDA.exe和IDA64.exe
分别是针对于32位程序和64位程序。
选择需要使用的版本,进入程序界面
New新的Go直接打开,Previous曾经的项目
快捷键介绍
编号 | 快捷键 | 功能说明 |
1 | Enter | 跟进函数实现,查看标号对应地址 |
2 | Esc | 返回更进处 |
3 | A | 解释光标处的地址为一个字符串的首地址 |
4 | B | 十六进制与二进制转化 |
5 | C | 解释光标处为一条指令 |
6 | D | 解释光标处的地址为数据,每按一次将会转换这个地址的数据长度 |
7 | G | 快速查找到对应地址 |
8 | H | 十六进制和十进制转换 |
9 | K | 将数据解释为栈变量 |
10 | ; | 添加注释 |
11 | M | 解释为枚举成员 |
12 | N | 重新命名 |
13 | O | 解释地址为数据段偏移量,用于字符串标号 |
14 | T | 解释数据为一个结构体变量 |
15 | X | 转换视图到交叉参考模式 |
16 | Shitf+F9 | 添加结构体 |
通过实例操作来体会基本IDA操作:
1 加载分析文件
IDA加载文件后,会询问分析方式
Protable executable for 80386(PE)[pe.dll] :分析一个PE格式的文件
MS-DOS executable(EXE)[dos.dll] :分析文件为DOS控制台下的一个文件
Binary file 分析文件为一个二进制文件。
根据示例windows变成message函数的exe程序,作为pe格式文件来分析处理。
2 各种视图功能
视图窗口说明
IDA View-A | 分析视图窗口,用于显示分析结果,可选用流程图或代码形式 |
Hex View-A | 二进制视图窗口,打开文件的二进制信息。 |
Exports | 分析文件中的导出函数信息窗口 |
Imports | 分析文件中的导入函数信息窗口 |
Names | 名称窗口,分析文档中用到的标号名称 |
Functions | 分析文件中的函数信息窗口 |
Structures | 添加结构体信息窗口 |
Enums | 添加枚举信息窗口 |
3 查看分析信息
图为IDA分析后的反汇编代码,将其复制稍微修改就可以直接在IDE上面跑汇编代码了。
IDA的数据查询很简单,只需要双击标号就可跟踪到数据定义处。查看函数方式也是这样。
4 切换反汇编视图和流程视图
在IDA views这里这个窗口选择查看的是Graph overview流程图查看,然后双击进入后就是text view查看。
5 IDA函数名称识别:
IDA可以识别处函数MessageNBoxA及各参数的信息,IDA通过SIG文件来识别已知的函数信息。在安装IDA的同时,已将常用库制作为SIG文件放置在了IDA安装目录中的SIG文件夹下面,
利用此功能可识别出第三方提供的库函数,从而简化分析流程。