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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

vs2019 编译 WRK 踩坑记录

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

一、回顧

上一篇博客介紹了命令行編譯 WRK 到調(diào)試的所有步驟,理論上我們已經(jīng)可以開始學(xué)習(xí)了。

但是 IDE 可以方便的查找和修改函數(shù),好處多多,所以這篇博客介紹如何使用 visual studio 編譯 WRK。

這篇博客會沿用上一篇博客的部分配置,建議讀者先跟著上一篇博客配置一下。

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

二、Windows-Research-Kernel-WRK-

https://github.com/HighSchoolSoftwareClub/Windows-Research-Kernel-WRK-

里面有詳細(xì)的用法介紹,大家完全可以自己看 readme,我這篇博客也是參考它的教程。

這是一個開源項目,為我們配置好了vs解決方案,下下來,解壓:

雙擊 WRKCopy.bat ,把 WRK 源碼復(fù)制到 C盤根目錄:

根據(jù)你的環(huán)境修改 WRKEnv.bat :

在我的機(jī)器上修改后是這樣的:

然后雙擊運(yùn)行bat腳本,如果想看看輸出信息,可以在cmd里打開:

然后用 vs2019 打開 WRK.sln,按照提示升級解決方案:

修改生成選項為 x86

F7 編譯,報錯:

1>NMAKE : fatal error U1077: ��"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86\cl.exe"��: ���?��?0x2��
1>Stop.
1>NMAKE : fatal error U1077: ��"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86\nmake.exe"��: ���?��?0x2��
1>Stop.
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(46,5): error MSB3073: 命令“C:\WINDOWS\System32\chcp.com 65001 >NUL
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(46,5): error MSB3073: “C:\WRK-v1.2\build.bat” x86 C:\WRK-v1.2\”已退出,代碼為 -1。
1>已完成生成項目“WRK.vcxproj”的操作 - 失敗。
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========

出現(xiàn)這個錯誤,是因?yàn)?tools\x86 下面沒有所需的工具,這時,把我們在上一篇博客里用的那個 wrk 項目里的文件復(fù)制過去:

復(fù)制后:

再次編譯,出現(xiàn)新的錯誤:

1> lib.exe -nologo -LIBPATH:C:\WRK-v1.2\base\ntos\BUILD\obji386 -LIBPATH:PREBUILT\i386 -IGNORE:4010,4037,4039,4065,4070,4078,4087,4089,4221,4198 -WX -nodefaultlib -machine:x86 -IGNORE:4001 obji386\*.lib ntoswrk.lib -def:EXE\wrkx86.def -out:EXE\wrkx86.lib 1>LIB : fatal error LNK1181: cannot open input file 'ntoswrk.lib' 1>NMAKE : fatal error U1077: 'lib.exe' : return code '0x49d' 1>Stop. 1>NMAKE : fatal error U1077: 'C:\WRK-v1.2\tools\x86\nmake.exe' : return code '0x2' 1>Stop. 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(54,5): error MSB3073: 命令“C:\WINDOWS\System32\chcp.com 65001 >NUL 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(54,5): error MSB3073: "C:\WRK-v1.2\rebuild.bat" x86 C:\WRK-v1.2\”已退出,代碼為 -1。 1>已完成生成項目“WRK.vcxproj”的操作 - 失敗。 ========== 全部重新生成: 成功 0 個,失敗 1 個,跳過 0 個 ==========

因?yàn)闆]有搜到解決辦法,最后我嘗試性的把4個文件夾替換掉了,我用之前命令行編譯好使的那個項目的 base public tools 和 ws03sp1hals 覆蓋掉了當(dāng)前的文件夾,注意是先刪除后復(fù)制。

再次打開 SLN ,編譯,成功了!

為了驗(yàn)證這個項目是好使的,我修改了 NTQuerySystemInformation 的源碼,并且修改了 windbg 里的符號文件路徑,然后啟動虛擬機(jī),這幾步大家應(yīng)該挺熟悉了,我就不啰嗦了,上幾張圖。

觀察 windbg 輸出:

可以看到,我們修改成功了,至此,vs2019 編譯 wrk 的環(huán)境已經(jīng)弄好了。

總結(jié)

以上是生活随笔為你收集整理的vs2019 编译 WRK 踩坑记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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