天天看點

WRK開發調試環境搭建

      WRK是什麼?它是微軟提供給各大學用于研究Windows核心的一套開放的源代碼。不久前在網上發現了這份寶貝,下載下傳下來,準備學習一下。在進一步探索這套核心前,首先要讓它run起來。

      我選擇的運作環境是VMWare + Windows2003SP1,輔助工具是WinDbg,将核心雙機調試環境搭建起來,這部分在網上有很多文章可以搜尋到,我就不再做了。

      當調試環境搭建好以後,就要編譯可以在Windows2003(Win2k3)上面運作的核心了,将WRK-v1.2源代碼拷貝到Win2k3的任意目錄下,打開控制台視窗,将tools/x86目錄加入到Path環境變量裡,進入base/ntos目錄,執行name -nologo x86=對WRK源代碼進行編譯,最後在base/ntos/build/exe目錄下生成wrkx86.exe及相關檔案,如下圖所示。

WRK開發調試環境搭建

      将wrkx86.exe複制到/windows/system32/目錄下,使它作為ntoskrnl.exe的替代品。

      接着,複制D:/WRK-v1.2/WS03SP1HALS/x86/halmacpi/halmacpi.dll到/Windows/system32/目錄下,作為hal.dll的替代品。

      修改c:/boot.ini檔案,加入一條新的引導項,如下所示。

      multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="WRK 1.2 - debug" /kernel=wrkx86.exe /hal=halmacpi.dll /debug /debugport=com1 /baudrate=115200

      重新啟動系統,并進入新的引導項,這時我們的系統就由剛剛編譯成功的核心來引導了。

      使用WinDbg對系統進行核心雙機調試,設定好正确的sympath和srcpath(注意:wrkx86.pdb和halmacpi.pdb要確定載入),看,Windbg調出源代碼供我們跟蹤調試了!

WRK開發調試環境搭建

      這一切都太酷了,不止是調試核心,我們還可以更改核心,重新編譯,随心所欲的探索作業系統中最迷人的秘密。我準備好了,一起上路吧!

繼續閱讀