debug的使用


使用方法

打開DOSBox,首先對工作目錄做一個掛載

mount c: d:\asm

然后進入虛擬目錄c:

最后直接輸入debug

用R命令查看改變寄存器的內容

R-查看寄存器的內容

前面有個“-”,這是debug的提示符

直接輸入r,即可查看寄存器的值

 R 寄存器名-修改寄存器的值

例如輸入r ax,首先出現的是AX 0000,表名AX寄存器當前的值是0000,

而下面那一行出現了一個:,在這個地方直接輸入你想要更改的數值,例如FFFF

再次使用r命令查看,可以看到AX寄存器的值已變為了FFFF

 

 PS:r ax和rax,中間有沒有空格都是一樣的

用D命令查看內存中的內容

D-列出預設地址內存處的128字節的內容

接着輸入d,還可以看到再往后面的128字節的內容,每一行是16個字節,總共是8行

D 段地址:偏移地址-列出內存中指定地址處的內容

以d 2000:0000為例

D 段地址:偏移地址 結尾偏移地址-列出內存中指定地址范圍內的內容

以d 2000:0 4f和d 2000:0 f為例

E命令改變內存中的內容

e 段地址:偏移地址 數據1 數據2 數據3 ...

以e 2000:0000 65 66 67 68 69 70為例

可以看到右側其實也就是左側的十六進制對應的ASCII字符

 e 段地址:偏移地址-詢問式修改

①首先e 段地址:偏移地址,回車

②然后自動彈出了給定地址后第一個字節的值,此時可以輸入自己想要更改的值,

③如果要繼續修改,就按空格,重復上一步的操作

④如果修改結束,可按回車

例如,我們想把2000:0000后面的六個字節的內容變為abcdef

U命令將內存中的機器指令翻譯成匯編指令

為了驗證u命令,首先要使用e命令將機器指令寫入內存

e 2000:0 b8 23 01 b8 03 00 89 d8 01 d8

然后使用d命令查看2000:0后16個字節的內容,確認輸入無誤,d 2000:0 f

使用u 2000:0將內存中的機器指令翻譯成匯編指令

通過這個例子我們可以直觀的看到,在內存中指令和數據沒有什么區別,都只是數字而已

A命令以匯編語言的格式在內存中寫入機器指令

首先用r命令查看寄存器中的內容

然后用a命令,a 073f:100,回車

回車后輸入匯編指令,

每輸入一行指令就回車。輸入完畢的那次回車兩下。

可以通過d命令查看內存中的機器指令

可以使用u命令來查看代碼

T命令執行機器機器指令

直接輸入t,執行CS:IP處的指令

 Q命令退出debug

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM