日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

命令行编译 WRK ,windbg 调试

發(fā)布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 命令行编译 WRK ,windbg 调试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、準(zhǔn)備工作

本文記錄如何用命令行編譯WRK內(nèi)核,下面列出需要準(zhǔn)備的東西:

  • win2k3 sp1 虛擬機環(huán)境
  • WRK v1.2源碼
  • 兩個需要用到的dll:msvcr71.dll ,msvcp71.dll

我看其他博客有人用 win2k3 sp2 也成功了,但我還是按照書上的教程,裝的sp1版本。

/s/1x-vmB0TRY27CZErIvZS8UA
提取碼:u4j3

二、編譯 WRK

進入 wrk 根目錄,創(chuàng)建bat文件,用于編譯x86版本,輸入以下內(nèi)容:

編譯x86.bat

set path=e:\wrk-v1.2\tools\x86;%path% cd base\ntos nmake -nologo x86=

msvcr71.dll ,msvcp71.dll復(fù)制到 WRK-v1.2\tools\x86 目錄下。

然后雙擊bat就能編譯相應(yīng)版本的wrk內(nèi)核了,這個過程會持續(xù)一分鐘左右。

編譯x86成功后結(jié)果如圖:

三、啟動 WRK

教程上說的要使用多核版本,所以虛擬機設(shè)置成多核的:

假設(shè)您已經(jīng)準(zhǔn)備好 win2k3 sp1 虛擬機了,打開虛擬機,進入 system32,把剛剛編譯生成的 wrkx86.exe 復(fù)制進去,然后回到 wrk 根目錄,把 wrk-v1.2\ws03sp1hals\x86\halacpim\halacpim.dll 也復(fù)制到 system32里。

下面引用 《Windows內(nèi)核原理與實現(xiàn)》附錄A的一段話:

注意,實體機系統(tǒng)的HAL 有三種可能:如果是支持ACPI 的PIC(中斷控制器)機 器,則使用halacpim.dll;如果是支持ACPI
的APIC(高級可編程中斷控制器)機器,則 使用halmacpi.dll;如果是非PIC 和APIC 的機器,則使用halmps.dll
。WRK 的 WRK-v1.2\WS03SP1HALS\x86\目錄下包含了這三個HAL 模塊。

然后修改 c:\boot.ini ,加兩行配置,分別是 WRK 調(diào)試模式和 WRK 非調(diào)試模式:

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="WRK Debug" /noexecute=optout /fastdetect /debug /debugport=com_debug /kernel=wrkx86.exe /hal=halacpim.dll multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="WRK Noebug" /noexecute=optout /fastdetect /kernel=wrkx86.exe /hal=halacpim.dll

最后,關(guān)閉 win2k3,修改虛擬機屬性,添加一個 com_debug 端口用于雙機調(diào)試:

四、調(diào)試 WRK

啟動 windbg,參數(shù)如下:

"C:\Program Files (x86)\Debugging Tools for Windows (x86)\windbg.exe" -b -k com:pipe,port=\\.\pipe\com_debug,baud=115200,reconnect -y

啟動虛擬機,選擇第二項,WRK調(diào)試,但是先別點,先改一下符號文件:

先改符號文件,我們把 halacpim.pdb 和 wrkx86.pdb 這兩個符號文件加到 windbg 里,勾選 reload,點OK就好了。

這時候就可以讓虛擬機跑起來了:

這樣就是成功了,g 讓系統(tǒng)跑起來,然后下一個斷點看看: bp NTQuerySystemInformation :

斷下來了,太好了!

五、windbg 常用命令

總結(jié)

以上是生活随笔為你收集整理的命令行编译 WRK ,windbg 调试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。