文件加解密
灵魂漫步者
jimk, 网络安全技术, 数据安全,嵌入式,Linux等
展开
-
DoubleFilter调试记录
问题1: 驱动加载后,无法卸载答: 检查DriverObject->DriverUnload = DriverUnload; --是否实现原创 2017-10-20 10:58:43 · 438 阅读 · 0 评论 -
sfilter开源驱动分析(一)--文件过滤的基本步骤
NT的I/O管理器支持分层的驱动程序模式。 当应用层的CreateFile() (R3层) --> || NtCreateFile() [I/O管理器在这一层,ntdll.dll] -->||内核驱动层(R0层) ,这里讨论的主要是针对最后的内核驱动层的处理。 当每个IRP被处理的时候,它会经过驱动层中的各个驱动程序,直到最终被某个驱动程序调用IoCo原创 2017-10-24 10:32:08 · 2345 阅读 · 0 评论 -
sfilter文件驱动(二)--文件的关联
前面说了关于sFilter的设备的挂载,主要是针对DeviceObject, 通过将驱动创建多个过滤设备,挂载到系统的卷设备上, 系统就会将所有到该卷的IRP操作都重定向到我们的驱动派遣函数中 接着,我们这里要分析关于针对文件的操作了,经过几天的研究,发现了几个有趣的地方,首先了解下大致的流程。IRP_MJ_CREATE: 创建文件例程首先,我们操作文件的时候,都要先打开原创 2017-10-24 10:33:36 · 445 阅读 · 0 评论 -
Linux文件透明加解密
http://www.doc88.com/p-3377590796497.html转载 2017-10-24 10:44:07 · 1325 阅读 · 0 评论 -
SwapBuffer驱动进阶(二)
在前面的SwapBuffer驱动进阶(一)中我们添加了一个Create的回调,那么如何让后面的PreRead识别出相同的文件,采用的方法是添加文件流的上下文。首先我们设计一个数据结构,也就是文件流的上下文,主要是需要保存什么文件信息://文件的上下文信息typedef struct _FILE_STREAM_CONTEXT{UCHAR ucIsE原创 2017-10-25 14:30:59 · 1255 阅读 · 0 评论 -
SwapBuffer驱动进阶(一)
之前通过阅读swapbuffer的read的部分代码,基本上弄明白了缓存交换的原理。 那么我们怎么做到文件的透明加解密,直接使用其缓存交换的方式来实现呢,目前参考了Antinvader, 有一个步骤是肯定要做的,那就是在Create的Post中,添加文件流的上下文,这样才能知道你打开的文件,是不是在read中确认是你需要处理的问题,因为在Read中的FileName是不准确的,例原创 2017-10-25 14:31:30 · 931 阅读 · 0 评论 -
SwapBuffer分析
将原先自己的博客迁移!介绍自己开辟一块缓存,将文件进行缓存交换,后续都是操作该缓存,例如加密解密等,等待操作完成后,再将缓存交换回去。(https://docs.microsoft.com/zh-cn/windows-hardware/drivers/ifs/file-system-minifilter-drivers) 修改示例代码的INF文件,将相关的swap原创 2017-10-25 14:28:55 · 3986 阅读 · 0 评论