IDA动态调试

1. 加载目标文件,选择调试器

使用IDA打开目标文件。使用菜单项上的"Debugger",单击"Select Debugger",再根据当前的文件类型选择合适的调试器。我这里调试exe文件时一般使用 Local Windows debugger 或 Remote Windows Debugger。

这里需要注意的是,在IDA7.0版本中,Local windows debugger有一些bug,导致其在调试时会报如下错误
"Oops! internal error 1491 occured."
这里为了解决上述的bug,应该按照如下操作

  1. 选择Remote Windows debugger

  2. 到IDA的安装目录下的 /dbgsrv/文件夹下,打开 win32_remote.exewin64_remote.exe,根据打开的IDA版本进行选择。
    https://ae01.alicdn.com/kf/U3a3ccc29b45b435eb2fef5c0462887b7g.jpg

  3. [Debugger] 中选择 [start process],在参数设置框中将 Hostname 设置为 127.0.0.1
    https://ae01.alicdn.com/kf/U78598cbde09249caac5e9d0e1fda9519j.jpg

  4. 执行完上述步骤以后,就可以进入调试界面啦

2. 调试界面

https://ae01.alicdn.com/kf/U684f0d5ec9444943812347f483fd1a3bH.jpg

3. 调试跟踪常用快捷键

IDA快捷键 功能
F7 单步步进,遇到call/指令跟进
F8 单步步过,遇到call指令不跟进
F4 运行到光标所在的行
Ctrl + F7 知道该函数返回时才停止
F9 运行程序
Ctrl+F2 终止一个正在运行的进程
F2 设置断点

4. 常用调试属性设置

  • 在Debugger options中设置 Suspend on process entry point
    https://ae01.alicdn.com/kf/U596aec6cd8d742f8aed12aefeaeeeb48T.jpg

参考

posted @   bunner  阅读(2040)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示