電腦XP系統(tǒng)怎么使用debug查看內(nèi)存和匯編指令
在winXP系統(tǒng)下,我們查看內(nèi)存的時(shí)候直接可以通過(guò)一個(gè)debug的命令來(lái)查看,下面是學(xué)習(xí)啦小編為大家介紹電腦XP系統(tǒng)使用debug查看內(nèi)存和匯編指令的方法,歡迎大家閱讀。
電腦XP系統(tǒng)使用debug查看內(nèi)存和匯編指令的方法
簡(jiǎn)單介紹下debug查看內(nèi)存中的機(jī)器碼,已經(jīng)查看匯編指令的方法。
-r 參數(shù)用來(lái)查看CPU中寄存器的值,以及改變寄存器的值。
至于那些神馬AX,BX,CX,DX的都不用說(shuō)了,CS跟IP更不用說(shuō)了,指向了要執(zhí)行的下一條指令。
可以用-r cs或者-r ip來(lái)改變它們的值。如圖:
這樣我們就可以讓CS:IP指向我們希望的指向內(nèi)存地址,從而可能執(zhí)行我們預(yù)先在該地址存放好的代碼。
-D命令:用來(lái)查看內(nèi)存中的值。比如:
如圖:最左邊的是內(nèi)存的地址,用基地址:偏移量的方式給出,中間存放的是內(nèi)存中的機(jī)器碼,一行剛好15個(gè)字節(jié),而最右邊則是對(duì)這些數(shù)據(jù)敵對(duì)應(yīng)的可顯示的ASCII字符,對(duì)于沒(méi)有的,則用.代替。所以如果想看一下,右邊輸出hello之類的 東西,則可以向指令里面寫如這些字符的ASCII碼。
-E命令:改寫內(nèi)存中的內(nèi)容。上面已經(jīng)說(shuō)到了,下面我們來(lái)試試,用E改變CS:IP里面存放的指令。
如圖:使用' ‘的格式就可以向里面輸入字符了,右邊出現(xiàn)了字符hello,所以我們可以認(rèn)為中間的數(shù)據(jù)就是對(duì)應(yīng)字符的ASCII碼,我們之所以看到h是68,那是因?yàn)檫@是十六進(jìn)制的數(shù)據(jù),h真正的ASCII碼應(yīng)該是6*16+8=104,所以是吻合的。比如我們像內(nèi)存里面寫入:61(也就是6*16=97)
而0到9幾個(gè)數(shù)字ASCII碼的十六機(jī)制剛好是3x,也就是48+x.這點(diǎn)必須的搞清楚。
好,搞了這么長(zhǎng)時(shí)間的E命令,我們?cè)诳纯碪命令,它用來(lái)查看機(jī)器碼對(duì)應(yīng)的匯編代碼。比如:
可以看到十六進(jìn)制的61對(duì)應(yīng)的匯編還是61?所以我們可以用-e寫入機(jī)器碼,然后用-u來(lái)查看匯編指令。
-A:以匯編的形式向內(nèi)存寫入指令。比如:
還有一個(gè)命令就是-t,也就是執(zhí)行,不多說(shuō)了。
電腦XP系統(tǒng)怎么使用debug查看內(nèi)存和匯編指令相關(guān)文章:
4.電腦xp系統(tǒng)怎么看運(yùn)行內(nèi)存