驱动INF文件解析和 为自己的设备安装指定驱动 您所在的位置:网站首页 win10如何删除驱动证书 驱动INF文件解析和 为自己的设备安装指定驱动

驱动INF文件解析和 为自己的设备安装指定驱动

2024-06-02 10:50| 来源: 网络整理| 查看: 265

文章目录 一、修改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.cer

makecert 命令使用说明如下: 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 *.cat

signtool 命令使用说明如下: 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 实验室设备网 版权所有