功能
IDA是一款反汇编静态分析工具,将程序文件拖到IDA中,可以看到汇编代码。
下载
https://hex-rays.com/products/ida/support/download/
安装
默认next,可以自己选择安装路径
使用
运行软件以后,通过vs编写一个程序,生成可执行文件,在IDA中打开,文件拖入之后,会有一些提示选项,先默认选择yes、ok,一开始也看不懂~
整体的界面显示如下,下面自上向下逐个介绍
界面
最上边是一些常规的菜单栏和工具栏
下边这个长长的有各种颜色的条表示了内存分区的导航条,可以用鼠标在上边点击,主窗口就会显示该位置的数据信息,不同的颜色代表了不同的分区。
下边这个是软件的主窗口,默认显示IDA View-A窗口,这个就是反汇编窗口,默认以流程图的形式展示,按空格键以后,可以切换为文本界面。
Hex View-1是十六进制窗口
Structures是软件自动识别出来的一些结构体,并不全面
Enums是枚举类型
Imports中是从导入表中获取的程序调用的函数
Exports是从导出表中获取到的当前程序导出的函数
指令
跳转
按g之后会出现下面的窗口,输入地址,即可跳转到该地址所在位置
搜索
按alt+t会出现搜索窗口,输入搜索内容,Search up是向上搜索,Find all occurrences是搜索所有,并在一个窗口中显示结果
当我们确定一个函数的功能时,可以对该函数进行改名,便于记录,将光标放在该函数名的任意位置,按n则可以进行函数改名,改完以后所有使用该函数的位置名称都会改变
新增结构体
在菜单栏中选择Edit可以添加结构体,选中自己添加的结构体,然后按d,可以添加结构体中的成员
使用alt+q可以查看所有的结构体
注释
在要注释的地方按:可出现注释窗口,写入内容即可
交叉引用
选中某个函数或变量,然后使用Cross references即可看到其所有引用的地方