欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]使用IDA+VMware调试64位Windows的方法

[原创]使用IDA+VMware调试64位Windows的方法

最近收到几位论坛朋友发来的私信来询问如何使用IDA调试64位Windows启动过程。
使用IDA+VMware调试MBR和OS Bootloader的文章已经屡见不鲜了。但是很多朋友在使用IDA在调试64位Windows时,会发现在调试64位Windows的bootmgr时,当调试到bootmgr!Archx86TransferTo64BitApplicationAsm时,调试器失去响应,跟假死一样。断开调试器后,使用64位IDA连接也无响应。我查了一下相关的文档,整理出可以正常调试Windows x64的方法。
VMWare提供的GDB Stub分两个部分,一个用于支持x86,一个用于支持x64。
当VMWare的虚拟CPU运行于16/32位模式时,32位支持的GDB Stub生效,监听在8832端口。如果VMWare开启了调试支持,则VMWare启动后自动开启8832端口。
当VMWare的虚拟CPU运行于Long-Mode时,8864端口开始监听。
设置步骤
1.在对应虚拟机的.vmx文件中加入如下代码
debugStub.listen.guest32.remote = "TRUE"
debugStub.listen.guest64.remote = "TRUE"
monitor.debugOnStartGuest32 = "TRUE"
debugStub.hideBreakpoints = "TRUE"
bios.bootDelay = "3000"
2.打开32位IDA,启动VMWare,使用IDA连接到VMWare开始调试。
3.在bootmgr!Archx86TransferTo64BitApplicationAsm上下断点,找到从Protected Mode跳转到Long-Mode的那个长跳转,在跳转到的目标位置下一个断点。

4.F7单步步过jmp far指令后,IDA进入等待 此时启动IDA64,连接8864端口即可进行64位调试。

有了VMWare+IDA,就可以让难用的BOCHS去死了

上传的附件 1.jpg
2.jpg

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功