欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SoftICE for WIN95中文命令解說(九)

互聯(lián)網(wǎng)   發(fā)布時間:2008-10-08 22:12:51   作者:佚名   我要評論
SoftICE for WIN95中文命令解說(九) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: M 作用: 傳送數(shù)據(jù) 語法: M source-address l length dest-address 用法: source-address: 源數(shù)據(jù)的起址;length : 要傳送的字節(jié)長度;dest-address
SoftICE for WIN95中文命令解說(九) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: M 作用: 傳送數(shù)據(jù) 語法: M source-address l length dest-address 用法: source-address: 源數(shù)據(jù)的起址;length : 要傳送的字節(jié)長度;dest-address : 目的數(shù)據(jù)塊的起址.用 M 命令將數(shù)據(jù)塊從源地址傳送到目的地址.如M ds:1000 l 2000 es:5000 將2000h個字節(jié)從DS:1000h傳到ES:5000h處. 點評: 無 命令: MACRO 作用: 定義一個宏命令,使之執(zhí)行一系列SoftICE指令. 語法: MACRO [ macro-name] | [*] | [= "macro body"] 用法: macro-name: 3-8個字符的宏名,(不區(qū)分大小寫);macro-body: 用分號隔開的一系列SoftICE指令, 首末 加冒號;* : 刪除一個或所有的已定義的宏命令;= : 定義(或重定義)一個宏命令.MACRO 命令用于定義SoftICE指令的超集.macro-body可以包含SoftICE的指令,也可包含宏定義,甚至是當前的宏定義本身.(這當然會產(chǎn)生遞歸調(diào)用,如果編得不好的話會產(chǎn)生錯誤,也沒有什么大意思).在這一系列命令之間用分號(;)隔開,最后一個命令后不用加分號.macro-body中還可以帶入命令行參數(shù),和DOS命令的%1,%2...一樣,合法值在1-8之間.注意一點,macro-body首尾是用冒號的.所以在宏定義體中如果要用到 \, ", %時要在前加一 \,這跟C語言的寫法是一致的.macro_name參數(shù)用來代表宏名,可以是字母或數(shù)字或下劃線組成.可以是現(xiàn)有的宏名, 那樣的話就會重定義這個宏.宏名不可以和現(xiàn)有的SoftICE內(nèi)部指令相同.會發(fā)生錯誤.MACRO * 表示刪除當前定義的所有(有名字的)宏.(因為斷點的DO 子句實際上也是宏, 不過是無名字的,它們不能就這樣被刪除了!)MACRO mnames * 刪除當前名為 mnames 的宏.MACRO mnames 將編輯名為 mnames 的宏, 在編輯過程中可以用ESC鍵取消改動.一個很有用的例子::MACRO 1shot = "bpx %1 do \"bc bpindex\""用這個宏可以設(shè)一個一次性斷點,非常方便! 點評: 宏病毒! 命令: MAP32 作用: 顯示當前所有32位模塊的內(nèi)存映象(圖). 語法: MAP32 [module-name | module-handle |address] 用法: module name : Windows模塊名;module handle: 模塊的基址;address : 落在可執(zhí)行模塊中的地址.MAP32 不帶參數(shù)將顯示所有的32位模塊的信息.加參數(shù)將只顯示指定模塊的信息.輸出如下:Owner : 模塊名.OBJ Name: 可執(zhí)行文件的區(qū)段名.Obj# : 可執(zhí)行文件中的區(qū)段號.Address : 選擇符:偏移量 格式的區(qū)段地址.Size : 區(qū)段的大小(字節(jié))Type : 區(qū)段類型: -------------------- CODE 代碼 IDATA 初始化的數(shù)據(jù) UDATA 未初始化的數(shù)據(jù) RO 只讀 RW 讀/寫 SHARED 對象是共享的. -------------------- 點評: 無. 命令: MAPV86 作用: 顯示當前虛擬機的DOS內(nèi)存映象 語法: MAPV86 [address] 用法: address : 段:偏移量格式的地址MAPV86 不帶參數(shù)將顯示當前整個虛擬機的內(nèi)存映象.加參數(shù)將顯示指定包含所指定地址的內(nèi)存區(qū)域的信息.有時侯DOS VM的頁沒有切進來,所以會有 "PAGE NOT PRESENT"的出錯信息,所以可以再彈出一次.MAPV86 在配合SYMLOC命令時很有用,因為在Windows 啟動前裝載的程序,Windows不會自動將它們的符號信息映射到V86內(nèi)存,用MAPV86命令就可以取得它們的代碼段,將符號表與之對齊,就可以跟蹤調(diào)試了.輸出如下:VM ID : 虛擬機的ID.VM handle : 32位虛擬機的句柄.CRS pointer: 虛擬機的32位客戶登記表的指針.(?)VM address : 32位線性地址.另外,如果SoftICE彈出時CS:IP指向一個MAPV86的入口,那一行的內(nèi)容將高亮顯示. 點評: 無. 命令: MOD 作用: 顯示W(wǎng)indows模塊列表. 語法: MOD [partial-name] 用法: partial-name: Windows模塊名,(可以是開頭的若干個 字母).MOD 不帶參數(shù)將顯示所有的模塊.若加 partial-name,則符合要求的模塊將被列出.輸出如下:module handle: 16位的句柄.base : 線性基址.pe-header : 選擇符:偏移量格式的PE文件頭.module name : 模塊名.(編程序時在.DEF中用NAME或 LIBRARY命名的.)file name : 文件的路徑(全名). 點評: 無. 命令: O 作用: 向I/O端口輸出數(shù)據(jù). 語法: O[size] port value 用法: size : B 字節(jié)(缺省值);W 字;D 雙字port : 端口地址.value: 要輸出字節(jié),字,或雙字.O 命令將立即輸出到硬件端口(當然那兩個21h和A1h要等退出SoftICE窗口時才執(zhí)行)(?) 點評: 關(guān)于21h和A1端口,二者是關(guān)系到中斷的, PDF文檔在這寫得不是很詳細.實際操作情況是多種多樣的. 命令: P 作用: 單步執(zhí)行程序. 語法: P [ret] 用法: P 命令將單步執(zhí)行程序.在匯編模式中,當遇到 CALL,INT,LOOP,REP指令時,P將不跟蹤進去,直到這些指令執(zhí)行完畢,控制才返回SoftICE,換句話說,P命令是"跨"過這些指令的.P 后加RET 參數(shù),SoftICE將一直單步執(zhí)行直到它找到一條返回語句(RET,RETF).在源程序模式中,P 命令將執(zhí)行一個源程序表達式. 但也不跟蹤到子例程中去.P 命令實際上是利用了單步標志, 大多數(shù)情況下是如此.但碰到CALL,INT,LOOP,REP指令時,就用INT 3(一次性) 在這些指令的后面設(shè)一下.P 命令有快捷鍵 F10; P RET 命令有快捷鍵 F12. 點評: F10可能是按得最多的鍵了,好好保護你的鍵盤吧!

相關(guān)文章

最新評論