我的第一个可用的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/版权所有,欢迎保留原文链接进行转载:) ...
随机推荐
- Mysql修改表备注, 列信息
1.添加表和字段的注释 创建数据表的同时,给表和字段添加注释 -- 创建用户信息表 CREATE TABLE tb_user ( id INT AUTO_INCREMENT PRIMARY KEY C ...
- 使用 SourceTree 操作时弹出 password required
通过 https 的方式克隆仓库的,SourceTree 推送等操作的时候会弹出提示要求输入密码. 在仓库里面设置: 远程仓库-选中仓库-点击编辑-修改 url 路径, 路径格式,以码云为例: htt ...
- centos7 搭建 php7 + nginx (2)
安装php php下载地址 # 避免出错,先安装下面 yum install libzip libzip-devel libxml2-devel openssl openssl-devel bzip2 ...
- Appscan standard怎么设置外部浏览器为IE
Appscan standard怎么设置外部浏览器为IE 方法/步骤 首先,打开一个的Appscan 的界面中,点击菜单中的 工具 的选项 点击了工具的选项之后,弹出了下拉菜单选中为 ...
- Vue跳转相同路由不同参数,解决页面数据不自动刷新
参考: https://www.cnblogs.com/ainyi/p/9340311.html https://blog.csdn.net/weixin_41888813/article/detai ...
- 两队列模拟一个栈,python实现
python实现两个队列模拟一个栈: class Queue(object): def __init__(self): self.stack1=[] self.stack2=[] def enqueu ...
- centos的yum配置
什么是yum ?yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(y ...
- git简单使用命令
每次都会忘记git使用命令 在本上做了笔记,网上也备份一份吧 这个是删除步骤: 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件 $ g ...
- spring cloud深入学习(十一)-----服务网关zuul
前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个 ...
- Shell执行SQL,并存入变量
shell的语法还是比较严格的(比如变量赋值,两边不能用等号) #!/bin/bash ids=$(mysql -h172. -uroot -p1qaz@WSX -N -e "select ...