IDA -入门-界面介绍

(OD是调试工具,反汇编辅助分析功能有限,不适用于静态分析)

 IDA的窗口和界面介绍:

首先,我们可以在view-open subviews打开各种类型的窗口。

 当我们第一次打开IDA,会显示这样的视图。

 

 

大窗口是流程图(ctrl+滑动滚轮=变大|变小),可以看到明显的条件判断,红色为条件为false,绿色条件为true。蓝色为无条件跳转。

图中以incaseformat为例,这样更方便我们理解上下逻辑。比如这里可以上面顺腾摸瓜的发现了,fileexists,病毒自身判断自己是否存在的行为。

按下space(空格键),会进入文本结构的界面。

 

 

 

这里我们可以根据地址颜色来分辨这个位置的数据类型(就是前面.text:00xxxxxx)

黄色:未定义数据类型

黑色:代码

灰色:数据

 

跳转表示:

虚线:条件跳转

实线:无条件跳转

颜色须知:在IDA自动把识别的API标为红色

在病毒分析时候我们会看到调用各种API

windows API查询网址:https://docs.microsoft.com/zh-cn/windows/win32/apiindex/windows-api-list?redirectedfrom=MSDN

这里显示程序的不同类型数据,不同的颜色代表PE中不同的块,就如我们在文本结构的界面看到颜色相呼应。

 

 

 

函数窗口:

这里会列出IDA所有解析出来的函数,关联开始地址,结束地址,长度,类型等相关属性。
我们可以利用ctrl+F去筛选,比如我这里是当时分析incaseformat,筛选有关于time的函数。ida对于不能识别出来的函数,会以sub_开头,后面再加上函数的起始位置

 

名称窗口:

 

 

 

视图功能介绍

 快捷键:shift+F4

这里会显示出一些名称字符串,如函数名称,字符串名称,变量名称等

 

状态指示器(最下面):

 

 

 这里显示"AU:idle",表示IDA已经完成对程序的自动化分析,我在看是不是卡死了,会看状态指示器。

 

主窗口中的反汇编窗口

 

 

 十六进制窗口:

 

 

 当前文件十六进制显示形式。

F2可对其数据进行修改,修改后再次按F2即可应用

 

strings窗口:

快捷键:shift+f12这个大家应该比较熟悉,做CTF题中,我们一般会先运行拿到程序,比如它会显示input your flag之类,这便是我们定位关键点的方向。

 

导入表:

 

 

 当前模块用了那些模块的那些函数。同样可以用于在病毒分析的时候,对于引用dll文件和API的分析。

 

导出表:

 

 

 

识别出来的结构体视图:

 

 

 

枚举类型:

 

 

 

函数操作:

 

 

 

 

函数操作:

 

 

IDA的反汇编由各个函数结合而成,比如控制流程图以函数为单位生成和显示。

bp-based frame;该函数的栈指针为ebp

寄存器arg_0等是IDA友好的提示,相对栈指针偏移量为8的函数参数

var局部变量,

arg参数

__cdecl调用约定

 

有时候,我们修改了程序,想要F5反汇编但不行,这是因为IDA并没有把它识别为一个函数,

一般以push eb(base)p/rbp指令开头为一个函数的起始地址(因为要堆栈平衡,保存现场,进行压栈操作)
在函数起始的汇编代码处,按p

 

 

 

关闭界面介绍:
当我们打开的时候我们会发现,在这个文件下面多了几个数据库文件,这些都是当前IDA程序自己要用的文件。这些文件一般涉及在我们要调试完,关闭IDA时候的选择。

 

 

 

 关闭时候会出现这几个选项:
第一个选项:就是不打包数据包文件,那么这些数据库文件就会分开这放。

第二个选项及图中选项:就是把这几个数据库文件打包为1个(如。i64文件),下次打开我们分析的文件的时候,打开这个文件即可。

第三个选项:不会删掉数据库文件,而是打包压缩到存储的文件里面去了。

下面两个选项

第一个选项:回收垃圾,如果打包文件太大了,可以选用这个选项,清理不必要的内存

最后一个选项:当分析时候写错了,选中最后一个,最后一次打开的操作不保留了。(解决错误操作)

 

posted @ 2020-09-27 19:55  KnowledgePorter  阅读(1568)  评论(0)    收藏  举报