
Windows驱动
文章平均质量分 62
G4rb3n
https://github.com/G4rb3n
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Windows驱动学习(一)-- 环境搭建
教程参考自:https://www.bilibili.com/video/av26193169/?p=11.安装WDK在Microsoft官网上下载WDK最新版本,按步骤安装就行了。2.创建驱动项目WDK安装成功后会在Visual Studio上显示驱动类项目,在Visual C++目录下的Driver目录中(我这里不知道什么bug,被移到测试目录下了)。接下来点击创建Empty WDM...原创 2018-09-18 11:35:05 · 11288 阅读 · 5 评论 -
Windows驱动学习(九)-- 回调函数
原创 2019-02-12 17:15:40 · 2792 阅读 · 1 评论 -
Windows驱动学习(八)-- 通过InlineHook实现变速齿轮
教程参考自:https://www.bilibili.com/video/av26193169/?p=9代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT_InlineHook1. 概述之前的章节我们介绍了FSD Hook技术,这章我们来讲解一下更底层一点的Inline Hook技术。2. 原理介绍Inline Hoo...原创 2019-01-04 16:57:30 · 4058 阅读 · 1 评论 -
Windows驱动学习(七)-- 内核线程
教程参考自:https://www.bilibili.com/video/av26193169/?p=8代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT_Thread1. 概述内核开发少不了线程的创建调用,这章就来实现线程的编程。2. 驱动编写2.1 驱动入口函数入口函数没啥代码,就是调用CreateThread函...原创 2018-11-22 16:16:40 · 2463 阅读 · 0 评论 -
Windows驱动学习(六)-- FSD钩子
教程参考自:https://www.bilibili.com/video/av26193169/?p=8代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT_FSDHook1. 概述FSD钩子是一种较实用的过滤方法,对比于上一章的添加键盘过滤设备,这种方法更显得简单高效。2. 驱动编写2.1 驱动入口函数入口函数简单明...原创 2018-11-21 11:46:15 · 2622 阅读 · 0 评论 -
Windows驱动学习(四)-- 双机调试
教程参考自:https://www.bilibili.com/video/av26193169/?p=41. 概述跟调试应用层程序不同,驱动不稳定,可能会导致蓝屏,所以我们不能在本机调试。一般的操作是在一个虚拟机中加载驱动,然后通过串口对该虚拟机的驱动进行调试。2. 虚拟机配置2.1 开启调试选项以管理员身份运行cmd。键入bcdedit命令,查看当前启动项,输出如下:纯净的系统...原创 2018-10-20 16:33:24 · 2070 阅读 · 1 评论 -
Windows驱动学习(五)-- 键盘过滤
教程参考自:https://www.bilibili.com/video/av26193169/?p=4代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT-KillProcess1. 概述跟调试应用层程序不同,驱动不稳定,可能会导致蓝屏,所以我们不能在本机调试。一般的操作是在一个虚拟机中加载驱动,然后通过串口对该虚拟机的驱...原创 2018-10-13 12:58:24 · 7452 阅读 · 5 评论 -
Windows驱动学习(三)-- 杀死进程
1. 概述我们常常遇到这种棘手的情况,使用任务管理器或一些应用程序无法将某一进程杀死。出现这种现象的原因一般是因为权限不够,若我们在驱动层调用ZwTerminateProcess来杀死这些进程,那么成功率将大大增加。2. 驱动编写2.1 初始化变量2.2 DrvierEntry在上一章,我们发现DeviceCreate和DeviceClose等函数怎么长得一模一样?我们可不可以进行代码...原创 2018-09-18 20:58:46 · 2928 阅读 · 3 评论 -
Windows驱动学习(二)-- 驱动层&应用层通信
1. 概述驱动是没有界面的,那么我们的程序(比如杀毒软件)如何与驱动进行交互呢?答案就是在Ring3层创建一个可视化的应用层程序,与驱动进行数据交换,达到通信的效果。2. 驱动编写2.1 初始化变量2.2 DrvierEntry为了能与应用层进行通信,我们需要创建一个虚拟的设备,然后创建一个符号与之关联,这些工作做完后,就可以将要与应用层交互的数据放置到设备的I/O堆栈中,供应用层进行...原创 2018-09-18 15:57:18 · 10116 阅读 · 6 评论 -
Windows驱动学习(十)-- 本地时间校验
教程参考自:https://www.bilibili.com/video/av26193169/?p=12代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT-CheckTime1. 概述很多付费软件都有个功能,先给你免费一段时间,时间过了,就提示你不能继续使用了,得购买。那么这种时间校验的功能如何实现的呢,很简单,就是通过...原创 2019-04-17 15:45:34 · 1101 阅读 · 1 评论