NT-Driver
文章平均质量分 81
zhou191954
这个作者很懒,什么都没留下…
展开
-
如何安装驱动
微软官方的介绍:File System Filter Driver Classes and Class GUIDsMicrosoft Windows XP and later operating systems provide setup classes for file system filter drivers. These classes provide转载 2014-03-05 13:07:50 · 1848 阅读 · 0 评论 -
文件系统Minifilter驱动(十)
在Minifilter驱动中管理上下文上下文是minifilter驱动定义的一个结构,可以与一个filter管理器对象关联起来. Minifilter驱动可以为以下类型的对象创建和设置上下文: · 文件(仅Vista及以后版本.) · 实例· 卷· 流· 流句柄(文件对象) · Transactions (仅Vista及以后版本.)转载 2014-03-06 14:06:00 · 1957 阅读 · 0 评论 -
文件透明加解密的源代码
// 修复涉及后视列表的Win2K兼容性// Fixes Win2K compatibility regarding lookaside lists.//#ifndef _WIN2K_COMPAT_SLIST_USAGE // Add content(增加内容)#define _WIN2K_COMPAT_SLIST_USAGE #endif#includ转载 2014-03-13 23:43:31 · 2301 阅读 · 1 评论 -
文件过滤加密的源代码
//过滤读NTSTATUS SfRead(__in PDEVICE_OBJECT DeviceObject, __in PIRP Irp){PIO_STACK_LOCATION irp_stack;BOOLEAN is_crypt;NTSTATUS status;PSFILTER_DEVICE_EXTENSION devExt;PAGED_CODE();AS转载 2014-03-13 23:12:25 · 1143 阅读 · 0 评论 -
VS2005编写window驱动
1、去http://ddkwizard.assarbad.net/ 下载ddkwizard,ddkbuild_bat.zip,ddkbuild_cmd.zip,这两个也要下载2、拷贝 DDKBUILD.bat 和 DDKBUILD.cmd 到DDK安装根目录,如我的是G:\WinDDK,这里要注意是根目录3、添加环境变量,我的电脑→属性→高级→环境变量→在下图中找到path转载 2013-08-01 22:34:05 · 1252 阅读 · 0 评论 -
VS2013+WDK8.1编写window驱动
图中红框处为最近学习windows系统驱动的成果.虽然这在高手来看挺简单,但在与新手来讲确是一个很高的起步点.不仅仅要克服注册表,inf文件编写,驱动的编写.还涉及windows的原理性东西.我的项目环境是vs2013和wdk8.1. vs2013不需要任何的设置,编写好文件后,点击F7编译生成,就会自动生成一个inf文件和sys文件.vs2013和WDK8.1可在微软官网下载,转载 2014-03-04 19:59:55 · 8914 阅读 · 2 评论 -
驱动监视进程线程
有时候我们希望能够动态监视系统中任意进程/线程的创建与销毁。为了达到此目的我翻阅了 DDK 手册,发现其提供的 PsSetCreateProcessNotifyRoutine(),PsSetCreateThreadNotifyRoutine(),等函数可以实现此功能。这两个函数可以通过向系统注册一个 CALLBALCK 函数来监视进程/线程等操作。函数原形如下:NTSTATUS转载 2014-03-27 13:26:41 · 1111 阅读 · 0 评论 -
在驱动中使用链表
在驱动程序的开发中经常需要用到链表,常见的链表有单向链表和双向链表,我们只介绍双向链表的使用方法,DDK为我们提供了标准的双向链表 LIST_ENTRY,但这个链表里面没有数据,不能直接使用,我们需要自己定义一个结构体类型,然后将LIST_ENTRY作为结构体的一个子域,如下 所示:typedef struct _MYDATASTRUCT{ ULONG number;转载 2014-04-09 13:53:27 · 1908 阅读 · 0 评论 -
[转]对A盾原理的小小总结
A盾的原理是在驱动加载时重载os内核,获取原始ssdt表的地址。应用层点击查询的代码在文件A-ProtectView.cpp中,每种点击操作调用相应的query查询函数,在query函数里 ReadFile。读操作的Handle是A盾自定义的操作码,类似DeviceIoControl的控制码,比如handle 为LIST_SSDT,LIST_INLINEHOOK等。驱动加载时hoo转载 2014-04-28 18:16:15 · 817 阅读 · 0 评论 -
文件系统Minifilter驱动(八)
写Callback例程的Pre-oper和Post-oper一个minifilter驱动可以在它的DriverEntry例程中为它需要过滤的任何类型的I/O操作注册至多一个pre-oper callback例程和至多一个post-oper callback例程. Minifilter可以选择要过滤哪种类型的I/O. minifilter驱动可以为一个给定类型的I/O操作只注册一个p转载 2014-03-06 14:04:37 · 1533 阅读 · 0 评论 -
文件系统Minifilter驱动(五)
安装Minifilter驱动XP及更新的Windows OS中,你应该用INF文件和一个安装应用程序来安装你的minifilter驱动. (2K及更早的OS中,minifilter 驱动一般是借助Service Control Manager安装的.)注意"基于INF的安装"仅仅意味着你需要使用一个INF文件来复制文件并存储信息到注册表中.你没有被要求用仅仅一个INF文件来安装你的转载 2014-03-06 14:01:01 · 1680 阅读 · 0 评论 -
文件系统Minifilter驱动(二)
二、Filter管理器模型的优势Filter管理器模型在现有的legacy过滤驱动模型之上提供了以下优势: l 比filter加载顺序更易控制. 不像legacy过滤驱动,一个minifilter驱动可以在任何时候被加载且因其altitude被绑定到合适的位置。l 在系统运行期间的卸载能力. 不像在系统运行期间不能被卸载的legacy过滤驱动,minifilter驱转载 2014-03-06 13:56:04 · 1960 阅读 · 0 评论 -
文件系统Minifilter驱动(三)
5).管理文件名filter管理器消除了legacy过滤驱动重获和管理文件名所必需的许多工作。当一个名被请求时,filter管理器在引用计数结构中以适当的格式为当前操作提供名: 规范名, opened名或短名. minifilter驱动可以调用FltGetDestinationFileNameInformation 来为正被rename或其NTFS hard link正被转载 2014-03-06 13:58:35 · 4018 阅读 · 0 评论 -
文件系统Minifilter驱动(九)
六、决定一个I/O操作的Buffering方法 与设备驱动一样,文件系统负责在用户模式应用程序和一个系统的设备之间传输数据.操作系统提供了以下三种方法访问数据buffer: · 在buffered I/O方法中,I/O管理器从非分页池中为操作分配一个系统buffer.I/O管理器在发起该I/O操作的上下文中,从这个系统buffer中复制数据到应用程序的user buffer中,反之转载 2014-03-06 14:05:14 · 1804 阅读 · 0 评论 -
文件系统Minifilter驱动(一)
文件系统Minifilter驱动 声明:本系列文章源于WDK,所有权利归原作者所有,翻译的目的只为交流和学习。说明: 所有preoperation及postoperation均简写为pre-oper和post-oper所有文件系统过滤驱动均简写为FSFD所有基于IRP的I/O即IRP-based I/O均简写为IRP-I/O转载 2014-03-06 13:54:47 · 2138 阅读 · 0 评论 -
文件系统Minifilter驱动(四)
四、控制Filter管理器操作在早于Vista的Windows中,filter管理器的操作由注册表中下列REG_DWORD AttachWhenLoaded值控制:HKLM/System/CurrentControlSet/Services/FltMgr当AttachWhenLoaded被设置为零时,filter管理器不会绑定到任何卷上直到某个minifilter驱动向fi转载 2014-03-06 14:00:35 · 1038 阅读 · 1 评论 -
文件系统Minifilter驱动(六)
二、Minifilter驱动的加载顺序和AltitudesMicrosoft Windows XP, Windows 2000 SP4 with Update Rollup 1, 和较新的OS专门为在系统启动时加载的FSFD和minifilter驱动提供了一套加载顺序组. Legacy FSFD可以只绑定到一个现有FSD 栈的顶部,但不可以绑定到某个栈的中间.其结果是,驱动的启动类转载 2014-03-06 14:01:30 · 1553 阅读 · 0 评论 -
文件系统Minifilter驱动(七)
写Minifilter驱动的DriverEntry例程每一个文件系统minifilter驱动都必须有一个DriverEntry 例程.当minifilter驱动被加载时该例程会被调用. DriverEntry例程执行全局初始化,注册minifilter驱动并初始化过滤.此例程在一个系统线程上下文中且在IRQL PASSIVE_LEVEL运行. 它的定义如下:NTST转载 2014-03-06 14:02:12 · 1372 阅读 · 0 评论 -
Minifilter驱动开发指南
0.译者序对我来说,中文永远是最美,最简洁,最精确和最高雅的文字。本 文翻译仅仅用做交流学习。我不打算保留任何版权或者承担任何责任。不要引用到赢利出版物中给您带来版权官司。本文的翻译者是楚狂人,如果有任何问题,你可 以通过邮箱MFC_Tan_Wen@163.com,或者是QQ16191935,或者是MSN walled_river@hotmail.com与我交流。我翻译此文转载 2014-03-11 10:52:16 · 3482 阅读 · 0 评论 -
过滤驱动容易让新手纠结的几个函数
1. IoAttachDevice[cpp] view plaincopyNTSTATUS IoAttachDevice( IN PDEVICE_OBJECT SourceDevice, IN PUNICODE_STRING TargetDevice, OUT PDEVICE_OBJECT *A转载 2014-10-30 16:54:48 · 772 阅读 · 0 评论