-
大小: 23.12MB文件類型: .zip金幣: 1下載: 0 次發布日期: 2023-07-27
- 語言: 其他
- 標簽: 驅動??minifilter??分布式??
資源簡介
這是我參加中國軟件杯比賽時寫的基于驅動的文件透明加解密軟件。程序有三部分,驅動內核代碼,服務器短,客戶端。驅動在系統內核級別對磁盤文件進行加密和解密,客戶端實現了驅動的管理和通信,服務器端實現了加解密策略的定制,訪問授權等。現在共享給需要研究驅動的同學。
代碼片段和文件信息
///////////////////////////////////////////////////////////////////////////////
///
///?Copyright?(c)?2013?-?
///
///?Original?filename:?Driver3.cpp
///?Project??????????:?Driver3
///?Date?of?creation?:?2013-06-07
///?Author(s)????????:?
///
///?Purpose??????????:?ription>
///
///?Revisions:
///??0000?[2013-06-07]?Initial?revision.
///
///////////////////////////////////////////////////////////////////////////////
//?$Id$
#ifdef?__cplusplus
extern?“C“?{
#endif
#include?
#include?
#include?
#include?
#ifdef?__cplusplus
};?//?extern?“C“
#endif
#include?“FileEncrypt.h“
#include?“tools.h“
#include?“UserInterface.h“
#define?PAGEDCODE?code_seg(“PAGE“)??
#define?LOCKEDCODE??code_seg()?
//#define?LOCKEDCODE?code_seg(“PAGE“)??
/************************************************************************/
/*?全局變量??????????????????????????????????????????????????????????*/
/************************************************************************/
//
//??This?is?a?lookAside?list?used?to?allocate?our?pre-2-post?structure.
//
NPAGED_LOOKASIDE_LIST?Pre2PostContextList;
//進程名的偏移
ULONG??ProcessNameOffset?=?0;
//minifilter?句柄
PFLT_FILTER?gFilterHandle;
//關鍵字鏈表頭
PTYPE_KEY_WORD?key_word_header;
//全局開關
BOOLEAN?IS_SYSTEM_OPEN?=FALSE;
//加解密密碼
CHAR?key[KEY_MAX_LEN]={0};
//通信端口句柄
PFLT_PORT?serverPort=NULL;
/************************************************************************/
/*????????????????????通信口回調函數????????????????????????????????????*/
/************************************************************************/
//連接回調
NTSTATUS
MyConnectionCallback(
?__in?PFLT_PORT?ClientPort
?__in_opt?PVOID?ServerPortCookie
?__in_bcount_opt(SizeOfContext)?PVOID?ConnectionContext
?__in?ULONG?SizeOfContext
?__deref_out_opt?PVOID?*ConnectionPortCookie
?);
//關閉回調
VOID
MyDisconnectCallback?(
??__in_opt?PVOID?ConnectionCookie
??);
//消息回調
NTSTATUS
MyMessageCallback?(
???__in_opt?PVOID?PortCookie
???__in_bcount_opt(InputBufferLength)?PVOID?InputBuffer
???__in?ULONG?InputBufferLength
???__out_bcount_part_opt(OutputBufferLength*ReturnOutputBufferLength)?PVOID?OutputBuffer
???__in?ULONG?OutputBufferLength
???__out?PULONG?ReturnOutputBufferLength
???);
/*************************************************************************
Prototypes
*************************************************************************/
NTSTATUS
InstanceSetup?(
???__in?PCFLT_RELATED_objectS?Fltobjects
???__in?FLT_INSTANCE_SETUP_FLAGS?Flags
???__in?DEVICE_TYPE?VolumeDeviceType
???__in?FLT_FILESYSTEM_TYPE?VolumeFilesystemType
???);
VOID
CleanupVolumeContext(
?__in?PFLT_CONTEXT?Context
?__in?FLT_CONTEXT_TYPE?ContextType
?);
VOID
CleanupStreamHandleContext(
???__in?PFLT_CONTEXT?Context
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????1521152??2013-08-21?12:21??文件透明加解密?用戶手冊.doc
?????文件??????200192??2013-08-21?11:47??文件透明加解密設計方案.doc
?????目錄???????????0??2013-08-21?23:53??源程序\
?????目錄???????????0??2013-08-21?23:53??源程序\Driver3\
?????目錄???????????0??2013-08-21?23:53??源程序\Driver3\Driver3\
?????文件???????????6??2013-08-21?20:49??源程序\Driver3\Driver3\BUILD
?????文件????????5054??2013-08-21?20:49??源程序\Driver3\Driver3\BuildLog.htm
?????文件????????9482??2013-08-21?20:10??源程序\Driver3\Driver3\Driver3.W7.vcproj
?????文件????????7652??2013-08-21?20:49??源程序\Driver3\Driver3\Driver3.W7.vcproj.PC201306041540.Administrator.user
?????文件?????????289??2013-06-07?10:10??源程序\Driver3\Driver3\Driver3.vsprops
?????文件???????51137??2013-08-21?20:17??源程序\Driver3\Driver3\FileEncrypt.cpp
?????文件????????2972??2013-06-30?00:35??源程序\Driver3\Driver3\FileEncrypt.h
?????文件???????78536??2013-08-21?20:03??源程序\Driver3\Driver3\PREfast_defects_chk_win7_x86.xm
?????文件?????????205??2013-08-21?20:03??源程序\Driver3\Driver3\PREfast_defects_chk_win7_x86Sum.txt
?????文件????????1378??2013-06-26?15:11??源程序\Driver3\Driver3\UserInterface.cpp
?????文件????????2526??2013-06-26?15:04??源程序\Driver3\Driver3\UserInterface.h
?????文件?????????297??2013-08-21?20:49??源程序\Driver3\Driver3\buildchk_win7_x86.log
?????文件?????????281??2013-08-21?20:09??源程序\Driver3\Driver3\buildfre_win7_x86.err
?????文件????????4505??2013-08-21?20:09??源程序\Driver3\Driver3\buildfre_win7_x86.log
?????文件?????????600??2013-08-21?20:09??源程序\Driver3\Driver3\buildfre_win7_x86.wrn
?????文件?????????436??2013-06-07?10:10??源程序\Driver3\Driver3\buildinc.cmd
?????文件??????????70??2013-08-21?20:49??源程序\Driver3\Driver3\buildnumber.h
?????文件??????????20??2013-06-07?10:10??源程序\Driver3\Driver3\ddkbldenv.cmd
?????文件?????????222??2013-06-07?10:10??源程序\Driver3\Driver3\ddkpostbld.cmd
?????文件??????????91??2013-06-07?10:10??源程序\Driver3\Driver3\ddkprebld.cmd
?????文件????????1371??2013-06-07?10:10??源程序\Driver3\Driver3\drvcommon.h
?????文件??????104272??2013-06-22?15:02??源程序\Driver3\Driver3\drvversion.aps
?????文件????????2201??2013-06-07?10:10??源程序\Driver3\Driver3\drvversion.h
?????文件????????2034??2013-06-07?10:10??源程序\Driver3\Driver3\drvversion.rc
?????文件?????????260??2013-06-07?10:10??源程序\Driver3\Driver3\makefile
?????目錄???????????0??2013-08-21?23:53??源程序\Driver3\Driver3\objchk_win7_x86\
............此處省略166個文件信息
- 上一篇:unix-linux編程實踐教程.pdf
- 下一篇:《Qt5開發及》高清完整PDF版
評論
共有 條評論