HLK 微软驱动签名过程中踩过的坑

环境vs2017 community + sdk(wdk)10.0.17763

 

Dll用户模式驱动,vs2017编译不通过,提示缺少msvcrt.lib等

Msvcrt.lib 替换为 ntstc_msvcrt.lib(网上说是c++的)

将vc++目录里的包含目录,库目录和vc相关的都去掉,提示缺少什么用everything搜,把路径添加上去,都添加wdk里面的不要用vc++的库,

链接选项添加相应的引用库,忽略所有默认库

编译出来的可以查看一下是否引用应用层的库,做一个参考验证

参考:https://blog.csdn.net/opshres169/article/details/51705809

          https://blog.csdn.net/lpwstr/article/details/78553705

 

代码兼容性修改:里面分配内存的函数需要修改

规则为:非分页内存需要添加不可执行标记

NonPagedPool -> NonPagePooldNx

NonPagedPoolCacheAligned -> NonPagedPoolNxCacheAligned

                   ExInitializeNPagedLookasideList 函数的Flags参数需要传递POOL_NX_ALLOCATION

 

另测试出错时会提供网址链接上面有详细需要替换的函数

 

测试需要下载最新的hlk filters  sql数据库

https://docs.microsoft.com/en-us/windows-hardware/test/hlk/user/windows-hardware-lab-kit-filters

使用相应的测试列表:

https://docs.microsoft.com/en-us/windows-hardware/test/hlk/windows-hardware-lab-kit

另:驱动改完后不需要每次都测试,可以用以前的测试结果和新的驱动打包提交

 

win8.1之前的系统需要走测试流程。win10不需要。

从微软官网下载对应的版本hck2.1或之前的,具体官网上有很详细的流程。

服务端安装好之后不要给电脑改名,否则数据库会连不上。

客户端装好系统之后,先用驱动精灵把所有驱动都升级到最稳定版本,避免系统镜像中的驱动不兼容导致失败(遇到过)。

 

win10 系统的驱动,不需要测试,购买Ev证书签好后(可选),创建.cab的包,然后用EV证书签名,提交。通过后即可

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值