windows内核安全与驱动开发 光盘_windows驱动开发研究

最近有需求需要开发一个驱动,需要开发一个不用鼠标键盘,通过发送消息来实现鼠标键盘功能的,虚拟驱动功能,因为模拟windows消息会被一些游戏识别成外挂。

在研究的过程中遇见了好多的坑。在今日(4.7)终于把HelloWorld给安装成功,并断点到了。

我采用的是vs2019+WDK10+WINDBG来实现的。先把几个坑给记录一下。再记下流程。

1.运行,输入:bcdedit/set testsigning on 回车。(devcon Failed一般就是这个问题)

打开签名认证开关,然后重启电脑,选择禁用驱动程序签名来启动。

这个必须做,不然的话,安装驱动会总是失败。

2.windbg显示Refreshing KD connection后,不能输入命令

在启动的时候连接上机器后,会显示这个,在目标机器按CTRL+BREAK,就会进入断点了。

3.几个驱动的查询和删除命令

SC QUERY 【DriverName】;SC delete [DriverName]

4.__asm int 3 在X64下不能使用的问题。

汇编内联只能在X86系统下使用,所以类似于__asm int 3断点在X64下不能再使用了,但是提供了一个函数可以实现类似的结果__debugbreak();

5.一直提示win10 sdk 10.0.17763.0下的一个文件包含错误。

实际上我使用的SDK是win10 sdk 10.0.18362的,不知道为何总是提示这个。我再vs installer 里删除掉了10.0.17763仍然不行。最后是用everything查出所有10.0.17763的目录删除掉,就不会再有这问题,坑。

6.windbg连上主机调试的方法,我采用的是com形式,-b -k com:pipe,port=.pipecom_1,resets=0,reconnect -y

可以参考https://www.cnblogs.com/yapp/p/10270768.html,就是虚拟机设置里删除打印机,添加com1 接口。用命名管道的方式来。

以上是几个坑。下面是真正的流程,网上很多流程,都有各种各样的问题,或者是不符合当前环境吧,最准确的还是要看微软官方的。

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf--driver

安装好WDK10,在vs install里面安装好如下几张图的里所有内容。

686f0eeb564c7da4ff2f5c2a9c169281.png

7f5a68fd01a08f00d92ff5955beb6fc5.png

5639a3a98b5e4330b9ee5377f7bfd8ab.png

04e86df8ae2d043027b2176232101f2d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值