wrk源码分析之WinDbg+Bochs调试.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
nwindows 内核(WRK)编译过程 用虚拟机 VMware 安装一个 windows server 2003 系统 (以下所指系统如未加说明均为该 windows server 2003 虚拟机) 将WRK 源码拷贝到系统下 C 盘,将文件夹取名 wrk(可以任意命名) 3.将系统中的环境变量 Path 设置为 C:\wrk\tools\x86;%path% 4.(在命令提示符中输入)cd wrk\base\ntos 5.(在命令提示符中输入)nmake -nologo x86= (内核正在编译...编译完后在 wrk\base\ntos\BUILD\EXE 下生成内核文件) 6.将 wrk\base\ntos\BUILD\EXE 下的内核文件拷贝到 C:\windows\system32 下 7.(在命令提示符中输入)在C:\windows\system32 路径下输入link -dump -all hal.dll | findstr p db 命令,查看你的 hal 按照下面对照: halacpi.dll - halacpim.dll ; ACPI PIC-based PC [used by VirtualPC] halaacpi.dll - halmacpi.dll ; ACPI APIC-based PC halapic.dll - halmps.dll ; MPS 进入 C:\wrk\WS03SP1HALS\x86 目录下,将相应的 hal 文件夹下的文件(2 个)拷贝到 C:\windo ws\system32 下 进入 C 盘,将隐藏的文件 boot.ini 打开,在最后一行加入: multi(0)disk(0)rdisk(0)partition( 2 )\WINDOWS=test /kernel=wrkx86.exe /hal=halmacpi.dll 10.重新启动,进入新编译好的内核. PS:1.注意第 9 步中,发光的数字2,该数值应与原来最后一句中的一致(否则进入系统时会出现没有找到引导盘) 2.如果还是进入不了系统,则下载 win2003sp1ch 进行系统升级. wrk 源码分析之 WinDbg+Bochs 调试 wrk 源码分析之 WinDbg+Bochs 调试 我是因调试 wrk 源代码的需要而开始使用 WinDbg 的。现在感觉调试 windows 内核源代码, WinDbg 是当之无愧的最佳选择了。它不仅有丰富的命令可供内核的调试,而且还可以自己写代码来扩展命令。唯一让人觉得美中不足的是它的脚本实在是弄得太复杂,不过这可以用WinDbg 的扩展功能来弥补不足,即写一个脚本扩展 DLL 来执行卓如 python 之类的脚本。 我自己也写过支持 python 脚本的 WinDbg 扩展,还是挺有用的。在 sourceforge 也有一个叫PyDbgExt 的开源软件,可以试试看。在《wrk 源代码分析之实验环境》中我已经讲了如何来做用于 wrk 源代码调试的 WinPE 的光盘镜像,但都是在 Vmware 或者 powerPC 中调试的。有了 WinPE,我们不仅可以在 Bochs 下运行它,还可以调试它,并且如果与WinDbg 相连, 就可以实现像其它虚拟机一样的源码极的调试!没想到吧?下面我就来介绍介绍我实现WinDbg+Bochs 来调试 wrk 源代码的的过程。 Bochs,不用说了吧,大名鼎鼎的开源虚拟机软件,可以用于 x86 和 amd64 软件的调试,是一款很好的操作系统调试软件,功能很强大,缺点是比其它虚拟机慢。与其它调试软件合作, 如 insight,ddd 等可达到源码级的调试效果。但这些软件都是linux 下的,虽然有windows 的移植版本,但感觉不太好用,这也是我要介绍WinDbg+Bochs 调试的原因之一了。 好,进行正题,如果你用 Vmware 之类的虚拟机调试过系统软件,那么你知道调试的通信一般是通过串口来进行的。有些软件,像 Vmware 还支持命名管道的通信方式。这样就可以很方便的用 Windbg+Vmware 来调试了。但是怎样用 WinDbg+Bochs 实现调试呢?我最先想到的是用虚拟串口软件,如VSPM,虚拟出两个串口,利用Bochs 和 WinDbg 的串口调试功能,来进行这两者之间的通信,只可惜试了老半天也没有试出来,WinDbg在显示connecting…之后就再也没的反应了。而在 Bochs 中运行的 WinPE 在启动到时多停了一段时间以后又继续执行了。难道真的就没有办法了吗?实在是不甘心啊,这明明是可以实现的功 能啊!WinDbg 不是也支持命名管道的调试方式吗,但是Bochs 不支持,所以想用管道的方式来进行 WinDbg 和

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档