-
大小: 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版
相关资源
- 空压机控制驱动器手册
- 广联达最新驱动授权588驱动支持GTJ2
- 步进电动机及其驱动控制
- Linux设备驱动开发详解PDF版
- win10adb驱动
-
tpli
nk驱动 - oppo usb 驱动
- STM32F407 W8782模块驱动代码
- stc系列单片机驱动12864屏幕万年历翻转
- Broadcom博通NetXtremeII10Gigabit10千兆以太
- 虹鼎高拍仪软件 免费通用版
- AD9910电路图和驱动程序
- TL-WN725N驱动 for mac 10.14
- TDS560USB驱动
- topwin 编程驱动
- 微视图像采集卡V110
- INTERMEC 驱动
- inter黑苹果驱动.rar
- ST7789V_320x240驱动
- 以太网PHY芯片直接使用FPGA驱动的参考
- PC机互通扩展串口SSNJPL2驱动
- location iOS免越狱修改定位13.5驱动 Lo
- maxon电机2018年最新选型手册
- 三星S22A300B驱动板通病 S22A330BW S19A35
- 机器设计中伺服电机及驱动器的选型
- 领域驱动设计:软件核心复杂性应对
- mpu9250官方驱动包
- PKPM结构全部驱动,新老锁都可使用,
- windows驱动程序WDF开发+WDF USB驱动开发
- 华硕nvme usb3.0 注入驱动
评论
共有 条评论