前言
前面介绍了几种自己探索的MBR调试方法,但是可能都没有以下这种方式来的暴力。
IDA+VMware 通过GDB来调试。
参考:https://www.52pojie.cn/thread-173889-1-1.html
声明: 博客直接搬运了以上链接中的图片和部分文字,侵删。
步骤:
1. 先将编译好的汇编BIN文件通过Bootice.exe或者其他工具、其他手段拷贝到虚拟机的磁盘第一扇区,并保证第一扇区最后2字节为55AA。
2. 变级虚拟机的VMX文件加入
debugStub.listen.guest32 = "TRUE" debugStub.hideBreakpoints = "TRUE" bios.bootDelay = "3000"
bios.bootDelay = "3000"表示VM在运行MBR之前会有3秒钟的时间等待你的调试连接。具体时间你可以自己定,我手速可能比较慢3秒钟来不及,所以我改成了8000不慌不忙。
3. 然后在IDA--> Debugger--> Attach--> Remote GDB debugger
监听本地地址的8832端口
4. 启动虚拟机,之后在IDA弹出的串口选择第一个
此时在MBR载入内存的地方下断,也就是断在0x7c00
5. F9运行起来,停在下面
6.IDA默认反汇编是32位的,但是我们的MBR肯定是16位的所以需要Alt+s,选择16位汇编。
接下来就可以愉快的调试了,寄存器,内存什么的随便看,只是需要学习一下IDA的使用。