admin管理员组

文章数量:1530085

    之前一直用VS2013 + Win8.1 WDK,选择target OS Version为 Win7,build的Driver可以正常运行。

    Win10 TH2发布后,有一项WHQL测试为

DF - HyperVisor Code Integrity Readiness Test

这项测试要求Driver支持Device Guard功能,具体可以参考:

https://technet.microsoft/en-us/library/dn986865(v=vs.85).aspx
http://blogs.msdn/b/windows_hardware_certification/archive/2015/05/22/driver-compatibility-with-device-guard-in-windows-10.aspx

按我的理解,简单讲就是将Driver中的代码段和数据段区分开,数据段严格设置为不可执行。避免被病毒攻击利用。

Device Guard的完美支持需要VS2015,需要将之前的VS2013升级到VS2015,升级后发现,同样的设定build后无法在Win7系统上加载,提升“Driver Corrupted or missing",很明显应该是compiler换成VS2015导致无法加载,通过Dependency Walker发现某些API找不到,具体为:

NtOSKrnl.exe中没有memcmp

这让我很惊讶,因为VS2013是OK的,看起来应该是VS2015 link的Win10 WDK中的lib有问题,通过VS build log的输出,发现link iointex.lib中的memcmp,正是这个lib会动态lin

本文标签: 升级到加载WindowsdriverBuild