当前位置:网站首页>基於Minifilter框架的雙緩沖透明加解密驅動 課程論文+項目源碼
基於Minifilter框架的雙緩沖透明加解密驅動 課程論文+項目源碼
2022-06-25 11:13:00 【biyezuopinvip】
目錄
FOKS-TROT 開發文檔 1
引言: 1
簡介: 1
編譯及使用方法: 1
設計部分: 3
測試部分: 18
未修複的 bug: 18
結束: 18
引言:
本項目是個實驗性項目,且作者對於文件系統等的理解難免會存在偏差,因此可能會產生誤導,望讀者辯證的學習,並且請讀者遵循相關的開源協議。
因為之前寫過一個 minifilter 的透明加密解密驅動,但當時水平確實有限, 有很多的問題,沒有找到原因,只是進行了規避,導致在錯誤的基礎上又產生了錯誤,所以在之前項目開發經驗的基礎上,寫了這個項目。
這個項目也打算作為畢設,如有雷同,純屬雷同 s(- -)b
簡介:
本項目是一個使用 minifilter 框架的透明加密解密過濾驅動,當進程有寫入特定的文件擴展名(比如 txt,docx)文件的傾向時自動加密。授權進程想要讀取密文文件時自動解密,非授權進程不解密,顯示密文,且不允許修改密文,這裏的加密或解密只針對 NonCachedIo。桌面端也可以發送特權加密和特權解密命令,實現單獨加密或解密。
1.本項目使用雙緩沖,授權進程和非授權進程分別使用明文緩沖和密文緩沖;
2.使用 StreamContext 存放驅動運行時的文件信息,使用文件標識尾的方式,在文件的尾部 4KB 儲存文件所需的解密信息;
3.使用 AES 128-ECB 模式,並且使用密文挪用(Ciphertext stealing)的方法,避免明文必須分塊對齊(padding)的問題;
4.Write 和 Read 使用 SwapBuffers 的方式進行透明加密解密;
5.特權加密和特權解密使用重入(Reentry)的方式,使驅動加密解密文件;
6.解决 FileRenameInformationEx 和 FileRenameInformation 問題,因此可以自動加密解密 docx,doc,pptx,ppt,xlsx,xls 等使用 tmp 文件重命名方式讀寫的文件;
7.注册進程相關回調,使用鏈錶統一管理授權與非授權進程;注册進程與線程對象回調,保護進程 EPROCESS,ETHREAD 對象;對授權進程的代碼段進行完整性校驗。
編譯及使用方法:
1.安裝 CNG 庫:
https://www.microsoft.com/en-us/download/details.aspx?id=30688
需要在微軟官網下載 Cryptographic Provider Development Kit,
項目->屬性的 VC++目錄的包含目錄,庫目錄設置相應的比特置
鏈接器的常規->附加庫目錄 C:\Windows Kits\10\Cryptographic Provider Development Kit\Lib\x64
輸入->附加依賴項一定要設置為 ksecdd.lib
2.在 Utils.c-> PocBypassIrrelevantFileExtension 設置要過濾的文件擴展名,Process.c->PocIsUnauthorizedProcess 設置非授權進程
3.使用 Visual Studio 2019 編譯 Debug x64 驅動,編譯 User、UserDll 和
UserPanel
4.建議在 Windows 10 x64,NTFS 環境運行(這裏主要是 FltFlushBuffers2
的 IRP_MN_FLUSH_AND_PURGE 只支持 NTFS),






边栏推荐
- 基于C语言的图书信息管理系统 课程论文+代码及可执行exe文件
- TASK03|概率论
- Upload and modify the use of avatars
- keep-alive
- Coscon'22 lecturer solicitation order
- Jincang KFS data centralized scenario (many to one) deployment
- Kingbasees plug-in DBMS of Jincang database_ RANDOM
- GaussDB others内存比较高的场景
- COSCon'22 讲师征集令
- Daily 3 questions (3) - check whether integers and their multiples exist
猜你喜欢

一个数学难题,难倒两位数学家

垃圾回收机制

一个五年北漂的技术er,根据这些年的真实经历,给应届生的一些建议

Apache ShenYu 入門
![[image fusion] image fusion based on morphological analysis and sparse representation with matlab code](/img/ae/027fc1a3ce40b35090531370022c92.png)
[image fusion] image fusion based on morphological analysis and sparse representation with matlab code

看完这篇 教你玩转渗透测试靶机Vulnhub——DriftingBlues-7

Android之Kotlin语法详解与使用

CSRF attack

Dragon Book tiger Book whale Book gnawing? Try the monkey book with Douban score of 9.5

【观察】ObjectScale:重新定义下一代对象存储,戴尔科技的重构与创新
随机推荐
June 24, 2022: golang multiple choice question, what does the following golang code output? A:1; B:3; C:4; D: Compilation failed. package main import ( “fmt“ ) func mai
网易开源的分布式存储系统 Curve 正式成为 CNCF 沙箱项目
How to start the phpstudy server
软件测试 避免“试用期被辞退“指南,看这一篇就够了
Android: generic mapping analysis of gson and JSON in kotlin
After reading this article, I will teach you to play with the penetration test target vulnhub - drivetingblues-7
Some assembly instructions specific to arm64
What are the functions of arm64 assembly that need attention?
MySQL synchronous data configuration and shell script implementation
动态规划解决股票问题(上)
ARM64特有一些的汇编指令
Shen Lu, China Communications Institute: police open source Protocol - ofl v1.1 Introduction and Compliance Analysis
Free access to the global human settlements layer (ghsl) dataset from Gee
Netease's open source distributed storage system curve officially became the CNCF sandbox project
中国信通院沈滢:字体开源协议——OFL V1.1介绍及合规要点分析
Is it safe to open a securities account in changtou school by mobile phone?
Shen Ying, China Academy of communications and communications: font open source protocol -- Introduction to ofl v1.1 and analysis of key points of compliance
数据库系列:MySQL索引优化总结(综合版)
Is it safe to speculate in stocks by mobile phone?
开源社邀请您参加OpenSSF开源安全线上研讨会