Windows驱动开发
文章平均质量分 96
Windows驱动开发
xsinlink
在大厂有长达近10年终端安全/数据安全经验,目前从事云桌面/虚拟化技术开发!
展开
-
NDIS协议驱动开发指南
对于NDIS协议层驱动平时我们的使用场景不多,我们也没有能力(也没必要)设计一个完整的网络协议驱动。但是协议驱动是我们后面NDIS过滤驱动的基础,NDIS过滤驱动可以帮助我们获取本机接收到的网络帧数据包,并且对以太帧数据包进行过滤(例如ARP数据包等)。因此NDIS协议驱动还是非常值得我们去学习的,它是NDIS过滤驱动的基础,也是以太帧数据包过滤的重要手段。原创 2023-12-06 15:49:12 · 1800 阅读 · 0 评论 -
TDI网络过滤驱动应用(一)
这里我们从三个实例(限流,UDP重定向,TCP重定向)大致了解TDI网络过滤驱动的基本应用场景;对于驱动防火墙的TDI网络过滤驱动复杂应用,我们需要将网络数据包进行截获以及重注入处理。对于TDI网络过滤驱动更加全面的使用,我们可以参考NetFilter SDK 2,该SDK链接为,可惜的是该SDK是一个收费的SDK,不过它提供了相关的Sample代码,包括TrafficShaper,TcpRedirector,DnsRedirector和SocksProxyServer还是非常具有参考性的。原创 2023-11-28 10:26:23 · 1322 阅读 · 0 评论 -
TDI网络过滤驱动之tdifw实现原理分析
网络数据包的过滤(包括connect,sendto,recvfrom等)。防火墙规则策略的管理。本地网络连接状态的查询。其中防火墙规则策略的管理应用以及网络状态信息的查询实现的比较简单,主要是响应用户层的各种//防火墙规则策略CTL_CODE。原创 2023-11-17 08:51:13 · 297 阅读 · 0 评论 -
TDI网络过滤驱动开发指南
首先我们来看一下Windows的网络模块架构,如下:ws2_32.dll提供了基本的socket相关函数(例如socketbindlisten等)。Windows在用户层提供了一种过滤网络数据包的HOOK方案,这个就是Layered service provider(也就是我们通常说的LSP),通过这种技术我们对网络包进行HOOK了,国内很多大厂用的都是这种技术。Socket是一种统一的规范,无论是Windows还是Linux他们对外提供的接口都是一样的。原创 2023-11-13 13:45:01 · 355 阅读 · 0 评论 -
抓屏技术之MirrorDriver镜像驱动实现
在WinXp的系统下面,显示的引擎主要还是支持2D,但是随着游戏等领域的兴起,D3D成为了Windows的核心显示引擎,MirrorDriver是WinXp下面的技术,是一种驱动层面支持绘图的技术。因为AERO特效的实现是在DWM.EXE进程里面完成的,但是DWM的合成操作的图形绘制并不会经过Mirror驱动的回调函数,这是系统的特性。对于这些回调函数,不用做任何处理,提供一个空的即可。对于第二种方法,存在一个困难的点就是显示驱动是运行再会话空间中,不能调用系统层的相关函数,只能调用Win32k提供的。原创 2023-10-11 15:49:03 · 395 阅读 · 0 评论 -
基于IDD技术的虚拟显示器开发实现
EDID: Extended Display Identification Data(扩展显示标识数据)是一种VESA (Video Electronics Standards Association)标准数据格式,其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。所谓虚拟显示器,是指我们利用软件技术,在没有外接物理显示器的环境下,虚拟出显示器设备。的回调接口,系统框架通过回调接口在不同的时机创建不同的对象。原创 2023-11-08 11:42:54 · 1075 阅读 · 0 评论 -
WDF驱动开发之DriverEntry原理
从上分析,基本可以发现WDF框架应该是对WMD编程的一种封装,微软在编译WDF框架的驱动的时候,使用了lib库取代代码的入口函数,在lib库中的入口函数先初始化完成框架,然后在调用开发者编写代码的入口。卸载时候的调用栈01 WDFLDR!02 WDFLDR!03 nonpnp!04 nonpnp!05 nt!06 nt!07 nt!08 nt!原创 2023-10-10 19:31:15 · 464 阅读 · 1 评论