自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 KMDF版本以及库文件的命令规则

一、KMDF版本号与WDK和OS的对应关系KMDF的版本号基本上都是伴随着WDK的发布而更新的,而WDK的更新一般又是和OS是同步的,比如:Win7对应WDK7,Win8对应WDK8,Win8.1对应WDK8.1,Win10对应WDK10从VS2012开始支持建立驱动工程。VS2012支持WDK 8.0,对应的KMDF默认版本是1.11。VS2013支持Win 8.1,对应的KMDF默认版

2016-01-25 16:41:30 2247

原创 KMDF中未分页内存的类型选择

在内核驱动程序中,内存空间的动态分配不能使用C语言的malloc等函数,取而代之的是ExAllocatePoolWithTag()和ExFreePool(),使用方法举例如下:#defineTEST_POOL_TAG            (ULONG)'test'PUCHAR tempBuf = NULL;tempBuf = ExAllocatePoolWithTag ( Non

2016-01-25 11:27:31 1219

原创 解决内核驱动开发中设备名称显示不正确的问题

为了让驱动与上层应用程序可以通信,我们定义了一个工具接口。当该接口被打开时,驱动会专门创建一个设备并挂载在Sample driver下面,它就是用来与应用程序进行通信的接口。但之前,该设备在设备管理器中的显示一直是有问题的,一直被标识成一个Unknown Device。后来参考MSDN的Sample Code:“Keyboard Input WDF Filter Driver (Kbfil

2016-01-14 18:06:59 649

原创 内核驱动中改写寄存器值

在Kernel Model的驱动程序中向给定的寄存器地址、内存地址或IO端口地址等16进制的地址写入指定的值。主要依靠的是MSDN中提供的MmMapIoSpace函数进行的。该函数将一个十六进制的物理地址映射到一个指针,然后针对该指针进行操作即可改变对应的物理单元内的数据。该函数的具体描述可参看微软的MSDN:https://msdn.microsoft.com/zh-cn/office/

2016-01-14 18:00:04 1871

原创 设备协安装程序

CoInstaller,也称协同安装程序,是微软公司开发的win32的DLL,它是用来帮助在Windows 2000以后的系统上进行设备安装。它被Setup API调用作为类安装程序的“助手”。例如,供应商可以提供协同安装程序将特定设备信息写入INF文件无法处理的注册表中。协同安装程序可以是设备专用或类专用的。Setup API只在安装协同安装程序为其注册的设备时才调用一个设备专用的协同安装程

2016-01-14 17:56:57 860

原创 Win10快速签名

非HLK/HCK的驱动签名是win10之后新出现的签名方式,也即快速签名机制。该方式最大的特点是微软不再强制要求进行HLK/HCK的测试了,可直接将驱动包上传到Sysdev进行签名。该流程与前面的HLK/HCK签名流程是完全不同的:1、HLK/HCK的驱动签名要提交的HLKX/HCKX类型的文件,而非HCK/HLK类型的签名所要提交的CAB类型的文件;2、这两者在Sysdev上的提交位

2016-01-14 17:47:57 4743

原创 HCK驱动签名

一、HLK/HCK签名这种类型的驱动签名需要先进行HLK/HCK的测试,其中HCK(HardwareCertification Kit)是win8、win8.1的驱动测试工具;而HLK(Hardware Lab Kit)是微软随win10而新推出的驱动测试工具。HLK/HCK类型的驱动签名,需要在sysdev上提交的是HLKX/HCKX类型的文件。这些文件正是HCK/HLK的测试结果。1.

2016-01-14 17:31:21 4703 2

原创 生成具有目录结构的CAB文件

一、使用makecab.exe生成CAB文件在微软签名的过程中有时需要提交.cab格式的文件,该格式是使用微软的makecab.exe或Cabarc.exe来进行生成的。这里主要介绍的是使用makecab.exe来生成cab文件的过程。直接打开一个CMD窗口即可调用makecab命令,但需要确保CMD当前的路径是处于C盘下的,不然系统会找不到该命令。使用makecab可将单个的文件压缩

2016-01-14 17:13:01 3031

原创 Windows驱动的彻底删除

由于Windows对于驱动程序会有一个自动备份的功能,当驱动被删除或损坏时,操作系统会自动使用备份的安装文件重新安装驱动程序。但这个功能有时会导致无法卸载一个损坏的驱动,因为OS会一直不停的进行还原操作。想要解决这个问题那么就是彻底的删除OS备份的文件。安装一个驱动时整个操作系统中有以下地方对驱动文件进行了保存/备份:1、在C:\Windows\system32\Driver下面有驱动

2016-01-14 17:08:27 41387 1

原创 Windbg串口联调

使用Windbg进行内核驱动调试时,可以使用的连接方式有很多:USB、网络、串口等。这里主要讲一下串口调试时的连接和设置方法。一、目标机的设置a. 以下是Windbg的帮助文档中给出的设置方法:On the target computer, open a Command Prompt window as Administrator, and enter th

2016-01-14 12:18:40 1928

原创 Windbg符号无法加载的问题

使用Windbg进行联机内核调试时,出现*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe的错误,无法加载ntoskrnl.pdb在使用!sym noisy和.reload /f nt后发现,Windbg在如下路径C:\Program Files\Windows Kits\10\

2016-01-14 12:07:56 4675

原创 Windbg下无法显示dbgPrint输出的信息

刚开始使用Windbg进行内核驱动的调试,但驱动中使用dbgPrint打印的调试信息一直都无法在Windbg中显示。后来纠结了很久才得以解决,记录如下。一、问题的根本原因The problem: Your DbgPrint or KdPrint messages don't appear in WinDbg (or KD) when you run your driver on W

2016-01-14 11:41:11 10597

触摸屏驱动的示例代码

触摸屏驱动sample code,包括驱动的加载,中断申请,数据读取上报

2018-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除