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文件夹下面,

    利用此功能可识别出第三方提供的库函数,从而简化分析流程。