于博的技术Blog

Just For Fun!

导航

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及相关文件,如下图所示。

      将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调出源代码供我们跟踪调试了!

      这一切都太酷了,不止是调试内核,我们还可以更改内核,重新编译,随心所欲的探索操作系统中最迷人的秘密。我准备好了,一起上路吧!

posted on 2009-10-02 15:28  于博  阅读(3456)  评论(6编辑  收藏  举报