基于EWDK10驱动安装包,只能编译NT驱动!电脑配置够硬,硬盘够大的就可以不用往下看了.我的硬盘太小了.成品只有600+mb. 是通过这位大佬的思路搞出来的,239K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3x3H3K9%4y4Q4x3X3g2U0L8$3#2Q4x3V1k6@1K9s2u0W2j5h3c8Q4x3X3b7J5y4U0j5J5x3#2)9J5k6o6q4Q4x3X3b7I4i4K6u0W2K9s2c8E0L8l9`.`.
第一步; 下载EWDK d10K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8$3y4K6i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3k6h3&6Q4x3X3c8#2M7#2)9J5c8X3I4W2k6$3q4D9i4K6u0r3N6$3W2F1k6r3!0%4M7#2)9J5c8X3S2S2M7X3c8%4j5i4u0W2i4K6u0r3k6h3&6@1k6i4u0H3M7X3W2K6k6g2)9J5k6s2N6V1K9#2)9J5k6r3I4A6j5$3g2F1M7$3g2Q4x3X3b7J5x3o6p5&6 不用安装,只需提取几个文件.
第二步; 1.创建-wdk 文件夹
2.wdk 文件夹内创建 bin,inc和lib三个文件夹,分别存放编译器,头文件和库文件
3.bin文件夹 -32位平台和64位平台 选择一个
-\Program Files\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin -32位平台编译驱动 选择Hostx86文件夹,x64,x86二个文件夹分别是64,32位驱动(x64文件夹改名位amd64)//不改名也行,需要更改bat文件 -64位平台编译驱动 选择Hostx64文件夹,x64,x86二个文件夹分别是64,32位驱动(x64文件夹改名位amd64) -保存到bin文件夹
4.inc文件夹 -\Program Files\Windows Kits\10\Include\10.0.19041.0 -其中,km文件夹相当于wdk7的ddk文件夹,shared文件夹相当于wdk7的api文件夹,km\crt文件夹相当于wdk7的crt文件夹 将他们都提取出来,保存在 inc文件夹
5.lib文件夹内创建win, Crt 二个文件夹 -\Program Files\Windows Kits\10\Lib\10.0.19041.0\km -提取x64文件夹 保存到 win文件夹下amd64文件夹 -提取x86文件夹 保存到 win文件夹下x86文件夹
-\Program Files\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\lib -提取x64文件夹 保存到 Crt文件夹下amd64文件夹 -提取x86文件夹 保存到 Crt文件夹下x86文件夹
第三步; 编写bat文件,支持多源文件,多汇编文件编译 不会bat语法,有错的自己改下. @echo off SETLOCAL ENABLEDELAYEDEXPANSION set DDK_PATH=D:\EWDK\bin\amd64 set INC_PATH=D:\EWDK\inc set LIB_PATH=D:\EWDK\lib
set LINK_OBJ= set LINK_ASM= set SRC_PATH=..\Source
set ASM_NAME=asm64 //有多少个文件自己添加 set DRIVER_NAME=driver64//驱动名 set SOURCE_NAME=DriverEntry1 DriverEntry2//有多少个源文件自己添加
title Compile Driver Project - Platform:AMD64 echo (~)(~) (~) (~) (~)(~)Start Generating(~) (~) (~)(~) (~) (~) echo Project:HelloDrv
echo (~)(~) (~) (~) (~)(~)Start Compiling(~) (~) (~)(~) (~) (~) %DDK_PATH%\ml64 /c %SRC_PATH%\%ASM_NAME%.asm for %%n in (%ASM_NAME%) do (set LINK_ASM=!LINK_ASM! %%n.obj) echo Completed!
echo (~)(~) (~) (~) (~)(~)Start Compiling(~) (~) (~)(~) (~) (~)
for %%n in (%SOURCE_NAME%) do ( %DDK_PATH%\cl.exe %SRC_PATH%\%%n.c /I"%INC_PATH%\shared" /I"%INC_PATH%\km" /I"%INC_PATH%\crt" /Zi /nologo /W3 /WX /Od /Oy- /D"AMD64 " /D"_WIN64" /D "_NDEBUG" /D"_UNICODE" /D "UNICODE" /Zc:wchar_t /Zc:forScope /Fo"%%n.obj" /GS- /Gz /TC /c /ERRORREPORT:QUEUE )
echo Completed!
echo (~)(~) (~) (~) (~)(~)Start Linking(~) (~) (~)(~) (~) (~) for %%n in (%SOURCE_NAME%) do (set LINK_OBJ=!LINK_OBJ! %%n.obj) %DDK_PATH%\link.exe %LINK_OBJ% %LINK_ASM% /LIBPATH:"%LIB_PATH%\win\amd64" /LIBPATH:"%LIB_PATH%\Crt\amd64" "ntoskrnl.lib" "hal.lib" /NOLOGO /DEBUG /PDB:"%DRIVER_NAME%.pdb" /OUT:"%DRIVER_NAME%.sys" /SUBSYSTEM:NATIVE /Driver /ENTRY:"DriverEntry" /Machine:AMD64 /ERRORREPORT:QUEUE echo Completed!
pause
第四步; 搞定 自己测试吧!有不对的 改改 改后麻烦回复下 感谢
附件:EWDK链接:cb7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4x3h3I4v1N6r3t1%4y4#2m8q4k6$3y4^5N6r3S2p5K9g2q4K6j5W2t1$3b7b7`.`. 提取码: vxcw
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2023-6-17 22:20
被太阳天空照编辑
,原因: