驱动INF文件解析和 为自己的设备安装指定驱动 |
您所在的位置:网站首页 › 设备管理器更新驱动程序在哪找 › 驱动INF文件解析和 为自己的设备安装指定驱动 |
文章目录
一、修改INF文件二、给INF驱动文件签名2.1 工具准备2.2 制作签名证书2.3 给INF文件签名
三、驱动安装3.1手动安装
转载请注明出处! 作者:雪天鱼 目的:为自己的设备安装CyUSB驱动,然后用CyAPI进行一些读写测试。 首先Windows为USB设备安装驱动是根据硬件ID和兼容ID来进行匹配的。 我的设备的硬件ID和要安装的驱动分别如下所示: 设备:AL-Link 一、修改INF文件驱动:Cyusb 直接为设备安装该驱动安装不上,需要修改 cyusb.inf 文件。 打开 cyusb.inf文件,有: [Manufacturer] %CYUSB_Provider%=Device,NT,NTx86,NTamd64 ;for all platforms [Device] ;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX ;for windows 2000 non intel platforms [Device.NT] ;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX ;for x86 platforms [Device.NTx86] ;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX ;for x64 platforms [Device.NTamd64] ;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX这里将最后三行按照实际的硬件ID改为: ;for x64 platforms [Device.NTamd64] %VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_336C&PID_1001 其中变量 %VID_XXXX&PID_XXXX.DeviceDesc%是自定义的设备描述,在INF文件末尾的[Strings]节中定义;这里我设置为“XUE-Link V1.0”CyUsb 是安装节的名称,不区分大小写USB\VID_336C&PID_1001 是设备的硬件ID,由生成商设置INF文件修改好了,然后在设备管理器中为AL-Link安装该驱动,安装结果如下: 出现这个界面就说明INF文件修改有效,Window将其和设备匹配起来了,但似乎还有东西需要修改。 经过查阅资料,发现需要数字签名,看了下有两种解决方法,第一种是自己给INF驱动文件签名,第二种是取消Windows的强制数字签名设置。想了想,后期驱动开发应该还是要学习如何给驱动签名,所以这里我采用第一种方法了。 成功后,进行测试,测试结果如下图所示: 成功检测到了使用cyusb.sys驱动的设备,并列举了出来。 二、给INF驱动文件签名 2.1 工具准备需要使用到 Inf2Cat,makecert,Signtool,CertMgr 等工具,需要下载Windows 10 SDK来获取,可以通过Visual Studio Installer下载,也可以直接在官网下载。 这里不知道为啥下载下来的SDK中没有Inf2Cat工具 试了安装8.0版本的Window SDK也不管用,最终是通过沃通代码签名精灵来生成的 cat文件 2.2 制作签名证书(1)打开Visual Studio的命令行工具 (2)制作证书,输入下列命令: makecert -r -pe -ss root -n CN="Company XUE CA" -$ commercial -b 01/01/2020 -e 01/01/2100 Cert1.cermakecert 命令使用说明如下: https://docs.microsoft.com/en-us/windows/win32/seccrypto/makecert 选择"是" 此时产生了Cert1.cer根证书 (3)导出PFX格式证书 在Windows搜索栏输入MMC并打开: 在"文件"->“添加管理单元"中添加"证书"至我的用户账户,并确认, 在"受信任的根证书颁发机构”->“证书"中找到刚才安装的证书"Company XUE CA”,右击"所有任务"->“导出"进入证书导出向导: 这里我直接导出到桌面,生成了cert1.pfx文件 2.3 给INF文件签名先生成Cat目录文件 下载好沃通代码签名精灵,以管理员身份运行,再把inf文件和其[SourceDisksFiles]节中调用的驱动文件都添加到 CAB/CAT中 生成的CAT文件和 inf文件放在同一目录下即可。 再签名Cat文件 同样在命令行工具下执行:、 Signtool sign /v /fd sha256 /f cert1.pfx /p 123456 /n "Company XUE CA" /t http://timestamp.digicert.com *.catsigntool 命令使用说明如下: https://docs.microsoft.com/zh-cn/dotnet/framework/tools/signtool-exe 其中"/p 123456"是导出pfx时设置的密码 命令执行成功后,如下图所示,且在cat文件的属性中能够看到已经被签名: 至此,驱动已经签名成功,驱动可以在设备管理器中手动安装完成 三、驱动安装 3.1手动安装若手动安装驱动,需要将inf,cat以及cer文件拷贝至目标电脑,首先需要安装证书,用管理员身份运行CMD,输入如下命令: CertMgr /add cert1.cer /s /r localMachine root /all其中cert1.cer为之前生成的根证书 安装证书成功后,即可在设备管理器中手动安装驱动 参考博客: https://blog.csdn.net/qq_29729577/article/details/113537243 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |