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

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


MFVDASM:可視化多格式反編譯器
MFVDasm不僅僅是個匯編列表生成器 。事實(shí)上,它比匯編代碼瀏覽器增加了多個很不錯的導(dǎo)航特性 。如圖1-8所示,那是我使用MFVDasm察看Windows 2000 I/O管理函數(shù)IoDetachDevice()的截圖 。圖中并沒有顯示出屏幕上的顏色 。例如,所有的函數(shù)表以及特定地址的jumps和calls都被顯示為紅色 。針對其余地址(沒有相關(guān)導(dǎo)出符號的地址)的jumps和calls顯示為藍(lán)色 。引用了從其他模塊動態(tài)導(dǎo)出的符號的顯示為紫色 。所有可到達(dá)的目標(biāo)地址(reachable destinations)都加上了下劃線,這意味著你可以通過單擊他們來滾動代碼窗口到達(dá)其地址 。使用工具欄上的Back和Forward按鈕,你能回顧看過的東東 。這很像在IE中察看瀏覽過的網(wǎng)頁 。

在右邊,你可以隨意選擇你想跳到的符號或目標(biāo)地址 。當(dāng)然,通過單擊列頭你可以進(jìn)行排序 。在最底層,MFVDasm提供了Tab頁來分別顯示符號、16進(jìn)制轉(zhuǎn)儲(HexDump)和重定位(Relocations) 。對包含嵌入字符串的代碼段進(jìn)行反編譯時16進(jìn)制轉(zhuǎn)儲視圖會顯得很有用 。在分析很大的文件如ntoskrnl.exe時,MFVDasm不會阻塞住,和其他流行的反編譯工具一樣,得到的匯編代碼可以保存到文本文件中 。
PEView --- PE和COFF文件察看器
盡管MFVDasm展示了PE(Portable Executable)文件的很多內(nèi)部結(jié)構(gòu)的細(xì)節(jié),但其側(cè)重于代碼的查看 。另一方面,PEView雖然不能展示比代碼段的16進(jìn)制碼更進(jìn)一步的細(xì)節(jié),但它能非常詳細(xì)的顯示文件結(jié)構(gòu)的細(xì)節(jié) 。如圖1-9所示 。這是我用PEView察看ntoskrnl.exe的截圖 ??梢钥闯鯬EView采用三種形式來顯示ntoskrnl.exe的多個部分 。如果你單擊左邊的一個葉結(jié)點(diǎn),在右面就會顯示與該項相關(guān)的所有信息 。在圖1-9種,我選擇了IMAGE_OPTIONAL_HEADER結(jié)構(gòu),該結(jié)構(gòu)是IMAGE_NT_HEADERS結(jié)構(gòu)的成員之一 。

譯注:還有兩段我沒有譯,和本書討論的主題無關(guān),感興趣的話,去看原文吧 。J
Windows 2000調(diào)試接口
對于喜歡研究系統(tǒng)內(nèi)核的人來說,內(nèi)核調(diào)試器是一個非常強(qiáng)大的工具 。不過,它的界面有些簡單 。有時你可能希望有更強(qiáng)大的命令 。很幸運(yùn),Windows 2000提供了兩個完整的調(diào)試接口文檔,使得你可以在你的程序中加入調(diào)試功能 。這些接口遠(yuǎn)算不上豪華(但他們得到了微軟官方文檔的祝福 J) 。在本節(jié)中,我將帶你進(jìn)行調(diào)試接口一日游,向你展示這些文檔可以為你做什么以及你如何從這些文檔中得到更多東東 。
psapi.dll、imagehlp.dll和dbghelp.dll
長久以來,Windows NT由于缺乏對Windows 95的ToolHelp32接口的支持而備受指責(zé) 。可能評論家們并不都知道Windows NT 4.0提供了其獨(dú)有的調(diào)試接口---內(nèi)建于系統(tǒng)組件psapi.dll(隨Win32 SDK一起發(fā)布)中 。隨此DLL一起發(fā)布的還有imagehlp.dll和dbghelp.dll以及針對NT/2000的調(diào)試接口的官方文檔 。PSAPI是Process Status Application Programming Interface的首字母縮寫,此接口提供了14個函數(shù)用于獲取有關(guān)設(shè)備驅(qū)動程序、進(jìn)程、進(jìn)程的內(nèi)存使用情況和其加載的模塊、工作集、內(nèi)存映射文件的系統(tǒng)信息 。psapi.dll同時支持ANSI和Unicode字符串 。
【1 《Undocumented Windows 2000 Secrets》翻譯 --- 2】其余兩個調(diào)試DLLs---imagehlp.dll和dgbhelp.dll涵蓋了不同的工作范圍 。二者都導(dǎo)出了相似的函數(shù)集合,區(qū)別較大的是imagehlp.dll,它提供了更多函數(shù),但dbghelp.dll提供了可重新發(fā)布的組件 。這意味著微軟允許你將dbghelp.dll放入你自己的調(diào)試程序的安裝包中 。如果選擇使用imagehlp.dll,你必須獲取在目標(biāo)系統(tǒng)已安裝的一個 。這兩個DLL都提供了豐富的函數(shù)來分析和維護(hù)PE文件 。二者最顯著的特性是能很好的使用符號文件(就是你為內(nèi)核調(diào)試器準(zhǔn)備的那些) 。為了指導(dǎo)你該選擇哪個DLL,我將這兩個DLL的所有導(dǎo)出函數(shù)匯總到了表1-1,N/A表示不支持 。

推薦閱讀