目录

  • 功能
  • 下载
  • 安装
  • 使用
  • 界面
  • 指令
  • 跳转
  • 搜索
  • 新增结构体
  • 注释
  • 交叉引用


功能

IDA是一款反汇编静态分析工具,将程序文件拖到IDA中,可以看到汇编代码。

下载

https://hex-rays.com/products/ida/support/download/

安装

默认next,可以自己选择安装路径

ida运行脚本如何使用python ida使用教程_ida运行脚本如何使用python

使用

运行软件以后,通过vs编写一个程序,生成可执行文件,在IDA中打开,文件拖入之后,会有一些提示选项,先默认选择yes、ok,一开始也看不懂~

整体的界面显示如下,下面自上向下逐个介绍

ida运行脚本如何使用python ida使用教程_反汇编_02

界面

最上边是一些常规的菜单栏和工具栏

ida运行脚本如何使用python ida使用教程_ida运行脚本如何使用python_03


下边这个长长的有各种颜色的条表示了内存分区的导航条,可以用鼠标在上边点击,主窗口就会显示该位置的数据信息,不同的颜色代表了不同的分区。

ida运行脚本如何使用python ida使用教程_反汇编_04

ida运行脚本如何使用python ida使用教程_交叉引用_05


下边这个是软件的主窗口,默认显示IDA View-A窗口,这个就是反汇编窗口,默认以流程图的形式展示,按空格键以后,可以切换为文本界面。

ida运行脚本如何使用python ida使用教程_搜索_06


ida运行脚本如何使用python ida使用教程_搜索_07


Hex View-1是十六进制窗口

ida运行脚本如何使用python ida使用教程_反汇编_08


Structures是软件自动识别出来的一些结构体,并不全面

ida运行脚本如何使用python ida使用教程_ida运行脚本如何使用python_09


Enums是枚举类型

ida运行脚本如何使用python ida使用教程_交叉引用_10

Imports中是从导入表中获取的程序调用的函数

ida运行脚本如何使用python ida使用教程_编辑器_11


Exports是从导出表中获取到的当前程序导出的函数

ida运行脚本如何使用python ida使用教程_搜索_12

指令

跳转

按g之后会出现下面的窗口,输入地址,即可跳转到该地址所在位置

ida运行脚本如何使用python ida使用教程_编辑器_13

搜索

按alt+t会出现搜索窗口,输入搜索内容,Search up是向上搜索,Find all occurrences是搜索所有,并在一个窗口中显示结果

ida运行脚本如何使用python ida使用教程_编辑器_14


当我们确定一个函数的功能时,可以对该函数进行改名,便于记录,将光标放在该函数名的任意位置,按n则可以进行函数改名,改完以后所有使用该函数的位置名称都会改变

ida运行脚本如何使用python ida使用教程_反汇编_15

新增结构体

在菜单栏中选择Edit可以添加结构体,选中自己添加的结构体,然后按d,可以添加结构体中的成员

ida运行脚本如何使用python ida使用教程_交叉引用_16


使用alt+q可以查看所有的结构体

注释

在要注释的地方按:可出现注释窗口,写入内容即可

ida运行脚本如何使用python ida使用教程_反汇编_17

交叉引用

选中某个函数或变量,然后使用Cross references即可看到其所有引用的地方

ida运行脚本如何使用python ida使用教程_编辑器_18