前言
前面介紹了幾種自己探索的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的使用。