当前位置:网站首页>Double tampon transparent cryptage et décryptage basé sur le cadre minifilter
Double tampon transparent cryptage et décryptage basé sur le cadre minifilter
2022-06-25 11:13:00 【Biyezuopinvip】
Table des matières
FOKS-TROT Documents de développement 1
Introduction: 1
Introduction: 1
Comment compiler et utiliser: 1
Section de la conception: 3
Section des essais: 18
Non réparé bug: 18
Fin: 18
Introduction:
Ce projet est expérimental,Et la compréhension de l'auteur du système de fichiers, etc., est in évitablement biaisée,Cela peut induire en erreur,J'espère que le lecteur apprendra la dialectique,Et demandez au lecteur de suivre le Protocole open source pertinent.
Parce que j'en ai déjà écrit un. minifilter Le pilote de cryptage et de décryptage transparent de,Mais les niveaux étaient limités à l'époque, Il y a beaucoup de problèmes.,Aucune raison trouvée,C'est juste un contournement,Il en résulte une autre erreur sur la base de l'erreur,Donc, sur la base de l'expérience acquise dans l'élaboration de projets antérieurs,J'ai écrit ce projet.
Ce projet est également destiné à être achevé en tant que,Comme d'habitude,C'est la même chose. s(- -)b
Introduction:
Ce projet est une utilisation minifilter Le lecteur de filtre transparent crypto - décryptage du cadre,Lorsque le processus a écrit une extension de fichier spécifique(Par exemple, txt,docx)Chiffrement automatique des fichiers en cas de tendance.Le processus d'autorisation décrypte automatiquement lorsqu'il veut lire un fichier cryptographique,Processus non autorisé non décrypté,Afficher le texte chiffré,Et la modification du texte chiffré n'est pas autorisée,Le cryptage ou le décryptage ici ne vise que NonCachedIo.Le côté Bureau peut également envoyer des commandes de chiffrement et de décryptage de privilèges,Implémenter un chiffrement ou un décryptage séparé.
1.Ce projet utilise un double tampon,Les processus autorisés et non autorisés utilisent respectivement un tampon texte clair et un tampon texte chiffré;
2.Utiliser StreamContext Stocker les informations du fichier pour l'exécution du pilote , Comment utiliser le fichier pour identifier la queue , À la fin du document 4KB Informations de décryptage nécessaires pour stocker le fichier ;
3.Utiliser AES 128-ECB Mode, Et utiliser des mots de passe pour détourner (Ciphertext stealing)Méthode, Évitez que le texte clair doive être aligné en bloc (padding)La question de;
4.Write Et Read Utiliser SwapBuffers Pour le cryptage transparent et le décryptage ;
5. Le chiffrement privilégié et le déchiffrement privilégié utilisent la rentrée (Reentry)De la façon dont, Décrypter le fichier avec le chiffrement du pilote ;
6.Résolution FileRenameInformationEx Et FileRenameInformation Questions, Il est donc possible de chiffrer et de décrypter automatiquement docx,doc,pptx,ppt,xlsx,xls Etc. tmp Renommer un fichier en lecture - écriture ;
7. Enregistrer les rappels liés au processus , Gérer uniformément les processus d'autorisation et de non - autorisation à l'aide d'une liste liée ; Enregistrer le processus et le rappel de l'objet thread , Processus de protection EPROCESS,ETHREAD Objet; Vérification de l'intégrité du fragment de Code du processus d'autorisation .
Comment compiler et utiliser:
1.Installation CNG Bibliothèque:
https://www.microsoft.com/en-us/download/details.aspx?id=30688
Besoin de télécharger sur le site officiel de Microsoft Cryptographic Provider Development Kit,
Projets->Propriété VC++Répertoire contenant le répertoire, Le Répertoire de la Bibliothèque définit l'emplacement approprié
La routine du Linker ->Ajouter un répertoire de bibliothèque C:\Windows Kits\10\Cryptographic Provider Development Kit\Lib\x64
Entrée-> Les dépendances supplémentaires doivent être définies à ksecdd.lib
2.In Utils.c-> PocBypassIrrelevantFileExtension Définir l’extension de fichier à filtrer ,Process.c->PocIsUnauthorizedProcess Définir un processus non autorisé
3.Utiliser Visual Studio 2019 Compiler Debug x64 Drive,Compiler User、UserDll Et
UserPanel
4.Recommandations Windows 10 x64,NTFS Environnement opérationnel(C'est surtout FltFlushBuffers2
De IRP_MN_FLUSH_AND_PURGE Soutien uniquement NTFS),






边栏推荐
- MySQL synchronous data configuration and shell script implementation
- 手机办理长投学堂证券开户靠谱安全吗?
- Compilation of learning from Wang Shuang (1)
- Sign up to open the third session of the "flying oar hacker marathon". It's been a long time
- What are the functions of arm64 assembly that need attention?
- Google Earth engine (GEE) - evaluate enables one click batch download of all single images in the research area (some areas in Shanghai)
- Dragon Book tiger Book whale Book gnawing? Try the monkey book with Douban score of 9.5
- After reading this article, I will teach you to play with the penetration test target vulnhub - drivetingblues-7
- 每日3题(2)- 找出数组中的幸运数
- [the path of system analyst] Chapter 6: Double inventory demand engineering (comprehensive knowledge concept)
猜你喜欢

Coscon'22 lecturer solicitation order

Previous string inversion topic

Compilation of learning from Wang Shuang (1)

开源社邀请您参加OpenSSF开源安全线上研讨会

Dell technology performs the "fast" formula and plays ci/cd

scrapy+scrapyd+gerapy 爬虫调度框架

Oracle彻底卸载的完整步骤

At 16:00 today, Mr. sunxiaoming, a researcher of the Institute of computing, Chinese Academy of Sciences, took you into the quantum world

Démarrer avec Apache shenyu

Explanation and use of kotlin syntax for Android
随机推荐
数据库系列:MySQL索引优化总结(综合版)
Checking whether the double value is an integer - Swift - checking if a double value is an integer - swift
GaussDB others内存比较高的场景
Gaussdb others scenarios with high memory
MySQL and Oracle processing CLOB and blob fields
10.1. Oracle constraint deferred, not deferred, initially deferred and initially deferred
软件测试 避免“试用期被辞退“指南,看这一篇就够了
Task03 probability theory
Arrays.asList()
Complete steps for a complete Oracle uninstall
Server rendering
Daily 3 questions (2) - find out the lucky numbers in the array
服务端渲染
COSCon'22 讲师征集令
16 种企业架构策略
金仓数据库 KingbaseES 插件DBMS_OUTPUT
FPGA基于VGA显示字符及图片
炒股票开户的话,手机开户安全吗?有谁知道啊?
[file inclusion vulnerability-04] classic interview question: how to getshell when a website is known to have only local file inclusion vulnerability?
TASK03|概率论