本帖最后由 canonkong 于 2020-6-23 21:42 编辑
近在国外Mov AX, 0xDEAD和daniel_k老哥和国内dsanke老哥的指导下,总算搞定了移植WIN8/SERVER2012系统自带的USB驱动到WIN7系统上。
Win8/server2012的内核都是6.2.9200,区别就是server2012技术支持到2023年10月,所以系统自带的的USB驱动都会跟随更新,修复问题等。
要移植6.2.9200的XHCI驱动程序并不难,因为在微软发布win8之前,从win7转移到win8的过程中,微软其实是给Win7编写了兼容的通用XHCI驱动程序,只是该驱动程序带有一个人工障碍的地方,以防止在Win7上使用。所以只要把这些障碍扫除就可以了。除了这个移植的WIN8通用USB驱动之外,还有AMD的1.0.0.12的USB驱动也是可以改通用USB驱动,只要在INF上加ID就可以了,缺点就是没UASP功能。
第三方的USB设备,例如VIA、Etron都有提供win7的UASP支持的驱动,其他厂家WIN7下都没有这个功能。
而我这个是直接移植了win8的通用USB驱动和win10自带的通用USB驱动一样支持USB3.0/3.1/3.2/雷电/Type-C,而且速度根据自身接口而定,不受驱动影响。
所以不论什么主板,或者第三方USB扩展卡,USB都是可以驱动起来。
而且UASP都生效,不需要对主板做任何更改,和普通驱动一样安装使用。
修改方法就是用IDA把所有的Spinlock全部做掉后校验重新签名就好了。(修改的方法不唯一,可以通过更改驱动入口达到同样目的。)
<