-
-
[分享]ida
-
发表于:
2021-8-6 17:16
8139
-
直接运行ida,会展示这个界面。“New”选项表明反编译新可执行文件,“Go”选项表明直接进入主界面,“Previous”选项表明加载已反编译的文件选项。
放入文件后
Processor Type:可以指定在反汇编过程中使用的处理器模块。多数情况,IDA将从可执行文件的头中读取到信息,选择合适的处理器。
kernel options:配置特定反汇编分析选项,IDA可利用这些选项该进递归下降过程。通常ida默认的都是最优的。
processor options:选择适用于处理器模块的配置选项。
1顶部是IDA概况导航栏,它是被加载文件地址空间的线性视图
蓝色:表示代码段。
棕色:表示数据段。
红色:表示内核。
2左上面表示该程序的函数表,双击任一后反汇编窗口会跳转到选定函数的所在位置,进而查看详细信息。
3左下面对应的就是整体扫雷程序结构的图形概况形式,可以大体把握功能和结构的走向,它对整体的脱壳逆向有很大的帮助。事实上这一部分是图形视图的一个缩小快照,因为主显示区很少能够一次显示某个函数的完整图形,下图中的虚线矩形就表示其在图形视图中的当前显示位置。在图形概况窗口内点击鼠标,可重新定位图形视图的显示位置。
最大的部分是IDA的主视图,常用的又可以分为以下几部分信息:
可以F5查看伪代码
(1)IDA View-A
IDA View-A表示的就是该程序的图标架构,可以查看程序的逻辑树形图,把程序的结构更人性化地显示出来,方便我们的分析。它显示出一个函数内部的执行流程。在反汇编界面中按空格键就可以在汇编代码和图形显示之间进行切换。
(2)Hex View-1
在Hex View-1中可以查看扫雷的16进制代码,方便定位代码后使用其他工具进行进一步的修改操作。默认情况下,Hex View窗口会与IDA View窗口同步,即在一个窗口中滚动鼠标,另一个窗口中也会滚动到相应的位置,此外在IDA View中选中一个项目,Hex View中的对应字节也会突出。
(3)Structures
在Stuuctures中可以查看到程序的结构体,它用于显示IDA决定在一个二进制文件中使用的任何复杂的数据结构的布局。
(4)Enums
在Enums中可以查看枚举信息
(5)Imports
在Imports中可以查看到输入函数,导入表即程序中调用到的外面的函数。
(6)Exports
在Exports中可以查看到输出函数。
当使用IDA分析软件时,事实上它会创建一个数据库,其组件分别保存在4个文件中,这些文件的名称与选定的可执行文件名称相同,拓展名分别为id0、id1、nam与til。
id0:它是一个二叉树形式的数据库
id1:程序字节标识,包含描述每个程序字节的标记
nam:Named窗口中显示的给定程序位置有关的索引信息
til:用于存储给定数据库的本地类型定义的相关信息
当你关闭一次分析想要保存时,或者切换到另一个数据库,IDA都将会显示一个Save database对话框,在它之中有如下几个选项:
Don’t pack database(不打包数据库),这个选项仅仅刷新对 4 个数据库组件文件所做的更改,在关闭桌面前并不创建 IDB 文件
Pack database(Store)[打包数据库(存储)],选择该选项会将 4 个数据库组件文件存到一个 IDB 文件中,然后这 4 个数据库文件会被删除,Store 选项不使用压缩
Pack database(Deflate)[打包数据库(压缩)],Deflate 选项等同于 Store 选项,其唯一的差别在于数据库组件文件被压缩到 IDB 归档文件中
Collect garbage(收集垃圾),如果勾选该选项,IDA 会在关闭数据库之前,从数据库中删除任何没有用的内存页面,在选择这个选项的同时,选择Deflate选项可创建尽可能小的 IDB文件。通常,只有在磁盘空间不足时才选择这个选项
DON’T SAVE the datebase(不保存数据库),选择这个选项时,IDA 会删除 4 个数据库组件文件,保留现有的未经修改的 IDB 文件。使用这个选项类似于在使用IDA 时应用了撤销或还原功能
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!