IDA pro基本技巧

Hello world,hello blog!

Posted by 吴柚 on May 2, 2019

学习背景

由于电脑坏了,在网吧没有虚拟机可以使用,所以今天仅仅学习了一些IDA的基础技巧以及《深入理解计算机系统》。

IDA 基础技巧

  1. IDA的主要窗口如下

IDA view: 定位要修改的代码段在哪里。

Hex view: 用来修改我们的数据

exports window: 导出窗口

import window: 导入窗口

names window: 函数和参数的命名列表

functions window: 样本的所有函数窗口

strings window: 字符串显示窗口,会列出程序中的所有字符串

  1. 修改数据

在Hex View窗口下,[S1]双击要修改的地方[S2]使用[F2]捷方式修改当前字节[S3]再按下[F2]快捷方式应用修改。

  1. 如何改变执行流程
  • 修改跳转指令。

  • 修改内存数据。

  • IDA View中使用下面的命令Jump to IP,Set IP, Run to cursor。

  1. 如何查看函数之间的关系

IDAView下使用小键盘“-”,“+”快捷方式可以在代码同关系图之间切换。

  1. 如何对DLL文件进行动态跟踪
1: 用[F2]在IDA View中当前代码行切换断点。

2: 启动装载DLL的EXE文件。

3: 使用[Debugger]->[Attach toprocess]把当前二进制代码attach到正在运行的进程中去。

4: 现在应该进入断点。[F7]Stepinto。[F8]Stepover。[F9]continue。

5:  Cursor移到内存位置后双击就可以查看到具体内存中的值,右击快捷菜单[Jumpto IP]项,可以回到你刚才指令的地方。

6: IDA View中有很多行代码,可以使用[;]快捷键对当前行进行注释。

7: 为了观察具体指令的二进制表示你还需要[IDAView]->[右击快捷菜单]->[Synchronize with]->[Hex View 1]这样Hex View会和你的IDA View中光标位置同步。没有第七步,你很难看懂ASM的意思。

8: 在IDA View中为函数改名,用[N]快捷键。

9: 观察内存(变量)[Tool bar]->[Open the watch list window],[Toolbar]->[Add a variable towatch]。

10:  如果作者混淆了二进制代码,你需要IDAView在频繁使用[D]ata快捷键,[C]ode快捷键,强制IDA,解析指定数据块为数据(Data)或代码(Code)。