IDA的使用

文件的打开与关闭

IDA的使用
IDA在分析一个程序的时候会生成多个自己用的文件,在点击关闭按钮时
IDA的使用
如果选择不打包数据库,那么这几个文件就是分开放的。
如果选择第二项,那么这几个文件就会被打包成一个文件。 在下一次继续分析的时候,直接打开打包后的.idb就可以了。
第三个选项,也是打包生成一个文件,然后把4个文件压缩成一个文件保存到打包后的文件里面。
Collet garbage
垃圾回收,在多次分析后内存越来越大。可以把这个选项勾选上,就会把多余的内存清理掉。
DON’T SAVE the database
如果想放弃打开后的所有操作,就把这一项勾选上,然后点击OK,IDA就会跟打开以前的数据是一样的。

窗口

ctrl+鼠标滚轮可缩放流程视图
IDA的使用

视图与文本模式的切换
空格键可以在代码视图和文本代码之间切换

块区
IDA的使用
导航条上不同颜色的区域代表PE文件中不同的节

显示硬编码

options->general->Number of opcode bytes
设置显示多少个字节硬编码 最多16个
IDA的使用

ACDU
A: 把当前的数据当成字符串来显示
C:把当前的数据当成代码来显示
D:把当前的数据当成数据来显示 按一次是db 两次是 dw 三次是dd
U:未定义,以原始的字节形式显示

跳转指令G

IDA的使用

函数重命名

IDA的使用
修改函数申明
快捷键y

新增结构体

IDA的使用
点击Structures界面 菜单栏点击 Edit add struct type

IDA的使用
选中struc_3 按d 就会新增一个字段
选中新增字段按d就会改变数据类型

选中新增字段按n就可以自己更改字段名

IDA的使用

如果结构体的某一个字段是结构体,按住ALT+Q 就可以选择IDA已识别的结构体。
IDA的使用
如果结构体的某一个字段是数组,选中此字段,右键Array 设置数组的大小

引用结构体

在代码处按T 就会出现结构体的选择。

注释

第一种按 ; 这种注释在引用的地方也会显示,相当于全局显示
第一种按 这种注释在引用的地方不会显示,相当于局部显示

函数的注释: 点击函数名 按 :

交叉引用

查看哪些函数引用了这个函数,View ->open subviews->Cross references
IDA的使用

变量也可以使用这个功能。