首页
社区
课程
招聘
[分享][原创]WRK编译报错解决方案
发表于: 2022-9-21 19:38 6761

[分享][原创]WRK编译报错解决方案

2022-9-21 19:38
6761

WRK(Windows Research Kernel)

WRK是微软为高校操作系统课程提供的可使用或修改的操作系统内核。

(1)编译WRK-方式一

  1. 管理员方式打开命令行
  2. 设置临时环境变量
  3. cd切换到xxx\WRK-v1.2\base\ntos目录
  4. 使用WRK自带的编译工具nmake一次性编译
1
2
3
4
path G:\XXX\XXX\WRK-v1.2\tools\x86\x86;%path%
cd G:\XXX\XXX\WRK-v1.2\base\ntos
G:
nmake -nologo x86=

G:\XXX\XXX\WRK-v1.2\base\ntos\BUILD\EXE\目录下会生成wrkx86.exe文件,其地位等价于ntkrnlxx.exe

(2)编译WRK-方式二

1
运行C:\WRK-v1.2\Build.bat

(3)编译失败

以上步骤有些WRK可以直接编译,很遗憾github下载的编译会报错。
WRK下载-github
因为文件夹少了很多东西,目前已知缺少编译工具、lib文件、硬件抽象层DLL

在此楼主网上搜寻一番,掌握了可以编译通过的文件和方法。

(4)正确的编译姿势

  1. 使用WRK-1.2文件夹目录下的WRKCopy.bat会自动拷贝WRK-1.2到C盘根目录
  2. 使用vs2019打开C:\WRK-v1.2\WRK.sln
    活动解决方案配置改为X86
  3. 生成解决方案

    生成的文件在C:\WRK-v1.2\base\ntos\BUILD\EXE

(5)windows server 2003使用生成的内核程序

文件:
wrkx86.exe
halmacpi.dll

  1. 拷贝wrkx86.exe和halmacpi.dll到windows server2003的C:\WINDOWS\SYSTEM32目录
  2. 修改boot.ini添加一行
1
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="WRK Mode" /noexecute=optout /fastdetect /kernel=wrkx86.exe /hal=halmacpi.dll /debugport=com /baudrate=115200
  1. 重启进入双击调试配置好后的windows server2003 选择进入编译的内核

等待windbg成功连接

使用lm命令确定符号加载

若没有加载则手动添加符号目录,然后使用.reload加载符号

(6)测试windbg加载源文件

bp nt!NtCreateProcess

使用g命令启动系统,等待创建进程时被断下。

当windbg成功断下后,通过windbg - File - OpenSource

加载拷贝到C盘的WRK-base-ntos-ps目录中的Create.c文件

此时发现windbg帮我们显示到了文件位置,接下来可以通过源文件舒服的学习内核了。

相关资源

附件包含三种方式
第一种:楼主提供网上搜集的WRK资源,经过整合后可以使用
第二种:楼主已整理好的WRK资源,可以根据此教程食用。
第三种:直接使用已编译的工具,再把WRK文件夹放入C盘即可

链接:c26K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4y4q4)9#2k6X3k6Q4y4h3k6Q4x3X3c8r3b7e0S2C8g2%4S2Y4L8r3p5%4k6i4b7J5f1$3u0b7N6#2)9K6c8Y4m8%4k6q4)9K6c8r3E0J5N6X3x3`.
提取码:krvc


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-8-24 12:35 被fishod编辑 ,原因: 遗漏附件
收藏
免费 5
支持
分享
最新回复 (4)
雪    币: 853
活跃值: (1529)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
连接失效求更新
2024-5-21 05:53
0
雪    币: 5011
活跃值: (2983)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
心平气和_qaq 连接失效求更新
链接:085K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4e0V1!0#2k6r3S2*7N6#2c8E0e0p5c8v1h3q4)9#2k6W2M7J5y4i4c8D9h3o6g2Y4i4K6y4r3M7s2N6V1i4K6y4p5L8e0u0H3x3#2!0o6x3W2!0m8x3l9`.`.
提取码:m2p3
2024-5-21 09:13
1
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
启动的时候蓝屏 PROCESS1_INITIALIZATION_FAILED 。请教下,如何处理啊。感激不尽
2025-2-18 01:59
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
大佬,麻烦发一个Windows Server 2003 sp1 的镜像吧。感激不尽
2025-2-18 02:15
0
游客
登录 | 注册 方可回帖
返回