日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

1 《Undocumented Windows 2000 Secrets》翻譯 --- 2( 二 )

的符號文件中的符號名稱,可以包括通配符?和* 。必須屬于x *!*列出的模塊名 。例如,x nt!*將列出在內(nèi)核符號文件ntoskrnl.dbg中找到的所有符號,x win32k!*將列出win32k.dbg提供的符號 。如果調(diào)試器報(bào)告說“Couldn’t resolve ‘X….’”,嘗試用.reload再次加載所有的符號文件 。
3.x 顯示所有可用符號的一個(gè)子集,該子集不匹配表達(dá)式 。本質(zhì)上,這是x !的一個(gè)變形,在這里!被省略了 。
隨符號名一起顯示的,還有與其相關(guān)的虛擬地址 。對于函數(shù)名,與其對應(yīng)的就是函數(shù)的入口地址 。對于變量,就是改變量的基地址 。該命令值得的注意的地方是,它可以輸出很多內(nèi)部符號(internal symbols),這些在可執(zhí)行文件的導(dǎo)出表中都是找不到的 。
ln:列出最近的符號
ln是我最喜歡的一個(gè)命令 。因?yàn)樗梢钥焖偾液唵蔚脑L問已安裝的符號文件 。算是x命令的理想補(bǔ)充 。不過后者適用于列出所有系統(tǒng)符號的地址 。Ln命令則用于按照地址或名稱查找符號 。
l ln顯示指示的地址以及和其前后相鄰的地址的符號信息 。
l ln將符號名解析為與其對應(yīng)的虛擬地址 。其過程與ln 類似 。
像x命令一樣,調(diào)試器知道所有導(dǎo)出的以及一些內(nèi)部的符號 。因此,對于想弄清楚出現(xiàn)在反編譯列表或16進(jìn)制轉(zhuǎn)儲中的不明指針的確切含義的人有著非常大的幫助 。注意,u、db、dw、dd也會使用符號文件 。
!processfIEld:列出EPROCESS的成員
該命令前的!號,意味著它來自于調(diào)試器的擴(kuò)展模塊—kdextx86.dll 。該命令可顯示內(nèi)核用來代表一個(gè)進(jìn)程的EPROCESS結(jié)構(gòu)(該結(jié)構(gòu)并沒有正式的說明文檔)的成員及其偏移量 。
盡管該命令僅列出了成員的偏移量,但你也能很容易的猜出其正確的類型 。例如,LockEvent位于0x70處,其下一個(gè)成員的偏移量為0x80 。則該成員占用了16個(gè)字節(jié),這與KEVENT結(jié)構(gòu)非常類似 。如果你不知道什么是KEVENT,不要擔(dān)心,我在第7章將會討論之 。
!threadfields:列出ETHREAD成員
這是kdextx86.dll提供的另一個(gè)強(qiáng)大的選項(xiàng) 。和!processfields類似,它列出未文檔化的ETHREAD結(jié)構(gòu)的成員及其偏移量 。內(nèi)核使用它表示一個(gè)線程 。參見示例1-2

!drivers:列出已加載的Drivers kdextx86.dll真是太棒了 。!drivers列出了當(dāng)前運(yùn)行的內(nèi)核和文件系統(tǒng)模塊的詳細(xì)信息 。如果檢查crash dump,該命令會列出系統(tǒng)崩潰那一刻的系統(tǒng)狀態(tài) 。示例1-3是我機(jī)器上輸出的摘要 。注意,在輸出的最后一行,導(dǎo)致Windows 2000崩潰的Driver的地址為0xBECC2000,這顯然是w2k_kill.sys引發(fā)藍(lán)屏后顯示的地址 。

譯注:在新的i386kd.exe(ver: 6.3.0017.0)中,!driver命令已不被支持 。取而代之的是lm命令 。該命令的一般用法是:lm t n
!sel:檢查Selector的值
如果沒有爭議的話,!sel實(shí)現(xiàn)于kdextx86.dll 。它用來顯示16個(gè)連續(xù)的memory selector(按地址升序排列) 。你可以反復(fù)的使用此命令直到出現(xiàn)“Selector is invalid” 。在第4章將討論Memory Selector,到時(shí)我會提供一個(gè)示列代碼來演示如何在你的程序中crack selectors 。
譯注:
在新的調(diào)試器中,該命令已不被支持,取而代之的是:dg命令 。其一般性用法為:dg.注意末尾的.符號 。dg命令最多可列出256個(gè)Selector 。調(diào)試器的Online Help中有詳細(xì)說明
關(guān)閉調(diào)試器
你可以通過簡單的關(guān)閉控制臺窗口來關(guān)閉內(nèi)核調(diào)試器 。當(dāng)然,更好的關(guān)閉辦法是使用q命令,這兒“q”代表著quit 。
更多的調(diào)試工具
在本書的光盤中,你可以找到兩個(gè)由我的e-friends貢獻(xiàn)的非常有價(jià)值的調(diào)試工具 。我很高興他們允許我將完整版本放入我的光盤中 。Wayne J. Radburn的 PE and COFF文件瀏覽器(PEView)是本書讀者的一個(gè)特殊免費(fèi)工具 。Jean-Louis Seigne的Multi-Format Visual Disassembler(MFVDasm)一個(gè)限時(shí)版本 。本節(jié)將簡單介紹這兩個(gè)工具 。

推薦閱讀