文件透明加密(C、C#)

本软件为本地离线文件加密工具,核心(C语言_MiniFilter Driver +C#)

功能如下:

采用 AES256-CBC、PBKDF2 加密算法,对本地文档、图片、CAD等文件进行打开无感加密 / 解密;

支持自定义文件后缀、绑定对应打开程序、自定义资源图标;

双击加密文件自动解密,编辑完成后自动重新加密覆盖原文件;

提供独立解密窗口、全局密码修改功能,无网络上传、安全存储逻辑。

还有很多BUG没有消除,但凑合可用,本人对C语言不是很熟悉缘故,蓝屏+死机搞的我接近崩溃...

C语言基本原理:影子文件机制技术(考虑大文件加密解密------也是无奈选择)

  • 全 IRQL 兼容 :所有锁均使用 自旋锁(KSPIN_LOCK),替代快速互斥体,确保可在 DISPATCH_LEVEL 等高 IRQL 下安全调用。

  • 非分页内存 :关键代码和数据置于 NONPAGED 段,保证分页 I/O 路径的稳定性。

  • 缓存管理 :主动清理文件系统缓存(CcPurgeCacheSection),防止缓存与密文不一致。

  • 异步处理:加密/解密、阴影创建等耗时操作通过工作项或后台线程异步执行,避免阻塞主 I/O 路径。

  • 错误恢复:加解密过程中若失败,可回滚重命名操作并清理临时文件。

  • 兼容性:支持 NTFS 文件系统,适配 Windows 10/11 及后续版本(WDK 10.0.26100.0)。

注意:特别关注 WIN 11 文件打开机制。

XML 复制代码
12:31:44.2457742	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:44.2458189	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:44.2458311	Notepad.exe	20048	QueryNetworkOpenInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, AllocationSize: 1601/1/1 8:00:00, EndOfFile: 1601/1/1 8:00:00, FileAttributes: A
12:31:44.2458371	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.2458493	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.2461099	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:44.2461429	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:44.2461513	Notepad.exe	20048	QueryBasicInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, FileAttributes: A
12:31:44.2461563	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.2461655	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.2463687	Notepad.exe	20048	QueryDirectory	C:\Users\Administrator\Desktop\111.txt	SUCCESS	FileInformationClass: FileBothDirectoryInformation, Filter: 111.txt, 2: 111.txt
12:31:44.4624572	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Disallow Exclusive, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened
12:31:44.5463558	Notepad.exe	20048	QueryOpen	C:\Program Files (x86)\SogouInput\16.6.0.4073\installfile.txt	FAST IO DISALLOWED	
12:31:44.5464842	Notepad.exe	20048	CreateFile	C:\Program Files (x86)\SogouInput\16.6.0.4073\installfile.txt	NAME NOT FOUND	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
12:31:44.6380071	Notepad.exe	20048	QueryInformationVolume	C:\Users\Administrator\Desktop\111.txt	SUCCESS	VolumeCreationTime: 2026/8/5 10:04:14, VolumeSerialNumber: FAB7-3ABB, SupportsObjects: True, VolumeLabel: 
12:31:44.6380368	Notepad.exe	20048	QueryAllInformationFile	C:\Users\Administrator\Desktop\111.txt	BUFFER OVERFLOW	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, FileAttributes: A, AllocationSize: 0, EndOfFile: 0
12:31:44.6385514	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.6385716	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.6497823	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:44.6498507	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:44.6499024	Notepad.exe	20048	QueryNetworkOpenInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, AllocationSize: 1601/1/1 8:00:00, EndOfFile: 1601/1/1 8:00:00, FileAttributes: A
12:31:44.6499197	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.6499673	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.6500775	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:44.6501207	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:44.6501370	Notepad.exe	20048	QueryNetworkOpenInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, AllocationSize: 1601/1/1 8:00:00, EndOfFile: 1601/1/1 8:00:00, FileAttributes: A
12:31:44.6501488	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:44.6501647	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.1571153	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:47.1571543	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:47.1571780	Notepad.exe	20048	QueryNetworkOpenInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, AllocationSize: 1601/1/1 8:00:00, EndOfFile: 1601/1/1 8:00:00, FileAttributes: A
12:31:47.1572004	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.1572191	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.1572949	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:47.1573311	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:47.1573454	Notepad.exe	20048	QueryNetworkOpenInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, AllocationSize: 1601/1/1 8:00:00, EndOfFile: 1601/1/1 8:00:00, FileAttributes: A
12:31:47.1573516	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.1573633	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6039555	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:47.6039935	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:47.6040124	Notepad.exe	20048	QueryBasicInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, FileAttributes: A
12:31:47.6040200	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6040342	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6042700	Notepad.exe	20048	QueryDirectory	C:\Users\Administrator\Desktop\111.txt	SUCCESS	FileInformationClass: FileBothDirectoryInformation, Filter: 111.txt, 2: 111.txt
12:31:47.6043234	Notepad.exe	20048	QueryOpen	C:\Users\Administrator\Desktop\111.txt	FAST IO DISALLOWED	
12:31:47.6043540	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:31:47.6043631	Notepad.exe	20048	QueryBasicInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	CreationTime: 2026/8/10 12:31:40, LastAccessTime: 2026/8/10 12:31:40, LastWriteTime: 2026/8/10 12:31:40, ChangeTime: 2026/8/10 12:31:44, FileAttributes: A
12:31:47.6043688	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6043798	Notepad.exe	20048	IRP_MJ_CLOSE	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6044154	Notepad.exe	20048	CreateFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Desired Access: Generic Read/Write, Disposition: OpenIf, Options: Synchronous IO Non-Alert, Non-Directory File, Disallow Exclusive, Attributes: N, ShareMode: Read, AllocationSize: 0, OpenResult: Opened
12:31:47.6052203	Notepad.exe	20048	WriteFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Offset: 0, Length: 12, Priority: Normal
12:31:47.6053273	Notepad.exe	20048	SetEndOfFileInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	EndOfFile: 12
12:31:47.6053477	Notepad.exe	20048	FASTIO_ACQUIRE_FOR_CC_FLUSH	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6053507	Notepad.exe	20048	WriteFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	Offset: 0, Length: 4,096, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
12:31:47.6053586	Notepad.exe	20048	FASTIO_RELEASE_FOR_CC_FLUSH	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
12:31:47.6086358	Notepad.exe	20048	SetAllocationInformationFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	AllocationSize: 12
12:31:47.6088097	Notepad.exe	20048	CloseFile	C:\Users\Administrator\Desktop\111.txt	SUCCESS	
相关推荐
wuminyu1 小时前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
小金子会发光3 小时前
C# WinForms 基于 Socket 手搓 Modbus TCP 调试助手(支持 01/02/03/04/05/06/0F/10)
c#·socket·plc·modbus tcp·工业通信
慧都小妮子4 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
-银雾鸢尾-6 小时前
C#中的反射关键类-Type
开发语言·c#
Darkwanderor7 小时前
线程概念和Linux线程
linux·c语言·c++
clear sky .7 小时前
[freertos源码阅读]task.c任务篇
c语言·开发语言
淡海水8 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理
java·unity·面试·性能优化·c#·游戏引擎
dalong108 小时前
WPF:3D型材模型
3d·wpf
Darkwanderor8 小时前
Linux线程控制
linux·c语言·c++
离陌在学C#8 小时前
C# 多态:面向对象编程的核心特性详解
开发语言·c#