文件透明加密(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 文件打开机制。

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	

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值