我的第一个可用的Windows驱动完成了
虽然是很简单的一个小驱动,但是它包含了我学编程两年来的憧憬与努力。。。
在2011年5月份,我就想学驱动,但是多次的失败,让我很不耐烦,所以暂时搁置了。。。。
到了2011年10月份,我抓回驱动,又重新开始学,我有了自己的C++的VS2008加WDK7的模板,虽然感觉很弱智,但是仍然是一个不小的努力。。。。
到了2012年2月份,我初次开始在外地工作,我开始努力地封装我的驱动接口,我把一些驱动下的NTAPI函数接口封装成了与应用层接口类似的名字,以方便我来使用,我封装了MFC风格的驱动下的文件操作类、定时器类、注册表操作类,等等类。。。。
但是苦于水平不足,写不出什么像样的东西,哪怕是小东西,所以直接导致我心情的低落,封装了如此多的东西,竟然自己无法使用,结果又搁置。。。。
直到今天,我完成了我的第一个驱动模块,虽然是很简单的一个网络过滤器,但是它包含了我两年来对Windows驱动的执着与向往。。。。

就是这么简单的一个sys文件

就是这么简单的7个文件和一个makefile一个sources

但是配合了我写的应用层软件,最终结果就是
两个其他协议数据包,也就是ICMP数据包,被拦截,直接导致主机ping192.168.113.134的请求无法正确下达,结果请求超时。

我的防火墙规则就是全IP,全端口双向拦截,所以TCP、UDP全都拦住了。

由于包被拦,所以网上邻居也无法访问了。。。
效果实在是好。。。。

最后的删除规则,与关闭防火墙。。。
我会慢慢把它完善,完善到我能用。
下一步,是准备学习小端口与协议端口的数据包封锁,其实现在也正在学,只不过,这个比较简单,先做这个。。。
我的第一个可用的Windows驱动完成了的更多相关文章
- Windows驱动开发(中间层)
Windows驱动开发 一.前言 依据<Windows内核安全与驱动开发>及MSDN等网络质料进行学习开发. 二.初步环境 1.下载安装WDK7.1.0(WinDDK\7600.16385 ...
- (转)Windows驱动编程基础教程
版权声明 本书是免费电子书. 作者保留一切权利.但在保证本书完整性(包括版权声明.前言.正文内容.后记.以及作者的信息),并不增删.改变其中任何文字内容的前提下,欢迎任何读者 以任何形式(包括 ...
- [Windows驱动开发](一)序言
笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓——内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...
- windows驱动开发详解学习笔记
1. windows驱动分两类,NT式驱动和WDM驱动,后者支持即插即用: 2. DriverEntry是入口函数,传入参数:pDriverObject由IO管理器传入: 3. WDM驱动中,AddD ...
- [windows驱动]内核态驱动架构
1.windows驱动简介: 1.1 windows组件简介: 1.2 windows驱动类型: windows驱动分为两种基本类型: 用户态驱动在用户态下执行.它们一般提供一套win32应用程序和内 ...
- windows驱动开发推荐书籍
[作者] 猪头三 个人网站 :http://www.x86asm.com/ [序言] 很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都 ...
- Windows 驱动开发 - 5
上篇<Windows 驱动开发 - 4>我们已经完毕了硬件准备. 可是我们还没有详细的数据操作,比如接收读写操作. 在WDF中进行此类操作前须要进行设备的IO控制,已保持数据的完整性. 我 ...
- Windows 驱动发展基金会(九)内核函数
Windows 驱动发展基金会系列,转载请注明出处:http://blog.csdn.net/ikerpeng/article/details/38849861 这里主要介绍3类Windows的内核函 ...
- 逆向实用干货分享,Hook技术第一讲,之Hook Windows API
逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...
随机推荐
- RSA算法的基本原理
记得在我上初一的时候做过这么一道数学竞赛题,就是求7的222次方的个位数字.当时教材上介绍的解题方法是将222分解成4*55+2,然后算出7的2次方个个位数字即为要算的数值.当时年幼无知的我根本不了解 ...
- Jenkins 简单安装使用
一.介绍 Jenkins 是一款业界流行的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能.由于 jenkins是基于java环境运行的,所以首先需要安装java环境 二.安装 1 ...
- springboot下slf4j配置
我们在引用的时候直接写 private static final Logger logger = LoggerFactory.getLogger(XXXServiceImpl.class); log. ...
- 容器安全与EDR的异同
以Docker为代表的容器技术,直接运行于宿主机操作系统内核,因此对于容器安全,很多人会有着这样的疑问:EDR(Endpoint Detection and Response)等主机安全方案,能否直接 ...
- DSP using MATLAB》Problem 8.16
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 使用async读取异步数据
使用传统方式读取异步数据 const fs = require('fs') fs.readFile('readme.txt', function (err, data) { console.log(d ...
- Ubuntu安装QQ、微信、微信开发者工具、搜狗输入法
wine 待补充……
- 机器学习中常用的距离及其python实现
1 概述 两个向量之间的距离(此时向量作为n维坐标系中的点)计算,在数学上称为向量的距离(Distance),也称为样本之间的相似性度量(Similarity Measurement).它反映为某类事 ...
- Mysql 增加rownum
Mysql 增加rownum 实现(极度推荐) mysql本身不像oracle那样使用 rownum 来显示行号的功能.但是可以使用设置变量的方式来实现这一功能. mysql使用 @ 定义用户变量, ...
- springmvc-高级参数绑定-映射-异常-json数据交互-拦截器
1.1. 高级参数绑定 1.1.1. 复制工程 把昨天的springmvc-web工程复制一份,作为今天开发的工程 复制工程,如下图: 粘贴并修改工程名为web2,如下图: 工程右键点击,如下图: 修 ...