六、IDA动态分析

6.1 本机调试

选择菜单Debugger下的Start process(也可以按F9键)来开始调试;在寄存器窗口中显示着每个寄存器当前的值和对应在反汇编窗口中的内存地址。函数在进入时都会保存堆栈地址EBP和ESP,退出函数时恢复。

6.2如何对DLL文件进行动态跟踪

  • 用[F2]在IDA View中当前代码行切换断点。
  • 启动装载DLL的EXE文件。
  • 使用[Debugger]->[Attach toprocess]把当前二进制代码attach到正在运行的进程中去。
  • 现在应该进入断点。[F7]Stepinto。[F8]Stepover。[F9]continue。
  • Cursor移到内存位置后双击就可以查看到具体内存中的值,右击快捷菜单[Jumpto IP]项,可以回到你刚才指令的地方。
  • IDA View中有很多行代码,可以使用[;]快捷键对当前行进行注释。
  • 为了观察具体指令的二进制表示你还需要[IDAView]->[右击快捷菜单]->[Synchronize with]->[Hex View 1]这样Hex View会和你的IDA View中光标位置同步。
  • 在IDA View中为函数改名,用[N]快捷键。
  • 观察内存(变量)[Tool bar]->[Open the watch list window],[Toolbar]->[Add a variable towatch]。
  • 如果作者混淆了二进制代码,你需要IDAView在频繁使用[D]ata快捷键,[C]ode快捷键,强制IDA,解析指定数据块为数据(Data)或代码(Code)。

.... 未完

猜你喜欢

转载自blog.csdn.net/yuqian123455/article/details/82317398
IDA