-
大小: 428KB文件类型: .rar金币: 2下载: 2 次发布日期: 2021-05-23
- 语言: 其他
- 标签: minifilter 禁止打开
资源简介
《寒江独钓 Windows内核安全编程》的miniflter简单介绍和使用,Minifilter驱动文件,用Minifilter.inf安装
UseMinifilter,应用层
Minifilter_dll ,应用层(客户程序和驱动层通信)
代码片段和文件信息
/*++
Module Name:
MiniFilter.c
Abstract:
This is the main module of the MiniFilter miniFilter driver.
Environment:
Kernel mode
--*/
#include
#include
#include
#pragma prefast(disable:__WARNING_ENCODE_MEMBER_FUNCTION_POINTER “Not valid for kernel mode drivers“)
#define MINISPY_PORT_NAME L“\\MiniPort“
PFLT_FILTER gFilterHandle;
PFLT_PORT gServerPort;
PFLT_PORT gClientPort;
ULONG_PTR OperationStatusCtx = 1;
#define PTDBG_TRACE_ROUTINES 0x00000001
#define PTDBG_TRACE_OPERATION_STATUS 0x00000002
ULONG gTraceFlags = 0;
// Defines the commands between the utility and the filter
typedef enum _MINI_COMMAND {
ENUM_PASS = 0
ENUM_BLOCK
} MINI_COMMAND;
// Defines the command structure between the utility and the filter.
typedef struct _COMMAND_MESSAGE {
MINI_COMMAND Command;
} COMMAND_MESSAGE *PCOMMAND_MESSAGE;
MINI_COMMAND gCommand = ENUM_PASS;
#define PT_DBG_PRINT( _dbgLevel _string ) \
(FlagOn(gTraceFlags(_dbgLevel)) ? \
DbgPrint _string : \
((int)0))
/*************************************************************************
Prototypes
*************************************************************************/
BOOLEAN NPUnicodeStringToChar(PUNICODE_STRING UniName char Name[])
{
ANSI_STRING AnsiName;
NTSTATUS ntstatus;
char* nameptr;
__try {
ntstatus = RtlUnicodeStringToAnsiString(&AnsiName UniName TRUE);
if (AnsiName.Length < 260) {
nameptr = (PCHAR)AnsiName.Buffer;
//Convert into upper case and copy to buffer
//strcpy(Name _strupr(nameptr)); //将字符串转换成大写形式
strcpy(Name_strlwr(nameptr));//讲字符串转换成小写形式
DbgPrint(“NPUnicodeStringToChar : %s\n“ Name);
}
RtlFreeAnsiString(&AnsiName);
}
__except(EXCEPTION_EXECUTE_HANDLER) {
DbgPrint(“NPUnicodeStringToChar EXCEPTION_EXECUTE_HANDLER\n“);
return FALSE;
}
return TRUE;
}
//获取进程全路径
PUNICODE_STRING GetSeLocateProcessImageName(PEPROCESS ProcessPUNICODE_STRING *pImageFileName)
{
Pobject_NAME_INFORMATION pProcessImageName = NULL;
PUNICODE_STRING pTempUS = NULL;
ULONG NameLength = 0;
//Process->SeAuditProcessCreationInfo.ImageFileName->Name
//win7 x86 offset = 0x1ec
//if (NULL == Process->SeAuditProcessCreationInfo.ImageFileName)
pProcessImageName = (Pobject_NAME_INFORMATION)(*(ULONG*)((ULONG)Process + 0x1ec));
if(pProcessImageName == NULL)
{
DbgPrint(“Process->SeAuditProcessCreationInfo.ImageFileName == NULL \n“);
return NULL;
}
else
{
NameLength = sizeof(UNICODE_STRING) + pProcessImageName->Name.MaximumLength;
pTempUS = ExAllocatePoolWithTag( NonPagedPool NameLength ‘aPeS‘ );
if (NULL != pTempUS) {
RtlCopyMemory(
pTempUS
&pProcessImageName->Name
NameLength
);
pTempUS->Buffer = (PWSTR)(((PUCHAR) pTempUS) +
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 458240 2017-11-03 09:36 MiniFilter\Debug\MiniFilter_dll.dll
文件 803 2017-11-03 09:36 MiniFilter\Debug\MiniFilter_dll.exp
文件 2140 2017-11-03 09:36 MiniFilter\Debug\MiniFilter_dll.lib
文件 1046016 2017-11-03 10:40 MiniFilter\Debug\UseMiniFilter.exe
文件 30921 2017-11-02 10:19 MiniFilter\MiniFilter\MiniFilter.c
文件 3148 2017-10-31 15:48 MiniFilter\MiniFilter\MiniFilter.inf
....... 264 2017-10-25 15:17 MiniFilter\MiniFilter\MiniFilter.rc
文件 7243 2017-10-31 14:55 MiniFilter\MiniFilter\MiniFilter.vcxproj
....... 1402 2017-10-25 15:17 MiniFilter\MiniFilter\MiniFilter.vcxproj.filters
文件 7287 2017-10-25 15:17 MiniFilter\MiniFilter Package\MiniFilter Package.vcxproj
....... 361 2017-10-25 15:17 MiniFilter\MiniFilter Package\MiniFilter Package.vcxproj.filters
文件 10714 2017-11-02 16:09 MiniFilter\MiniFilter.sln
..A..H. 42496 2017-11-03 10:43 MiniFilter\MiniFilter.v11.suo
文件 1178 2017-11-03 09:23 MiniFilter\MiniFilter_dll\MiniFilter_dll.cpp
文件 840 2017-11-03 09:36 MiniFilter\MiniFilter_dll\MiniFilter_dll.h
文件 4294 2017-11-02 16:09 MiniFilter\MiniFilter_dll\MiniFilter_dll.vcxproj
文件 1093 2017-11-02 16:09 MiniFilter\MiniFilter_dll\MiniFilter_dll.vcxproj.filters
文件 1903 2017-11-03 10:26 MiniFilter\UseMiniFilter\App.cpp
文件 480 2017-11-02 11:40 MiniFilter\UseMiniFilter\App.h
文件 4203 2017-10-30 15:35 MiniFilter\UseMiniFilter\UseMiniFilter.vcxproj
文件 1071 2017-10-30 15:13 MiniFilter\UseMiniFilter\UseMiniFilter.vcxproj.filters
文件 800 2017-11-02 10:19 MiniFilter\Win7Debug\MiniFilter.cer
文件 3167 2017-11-02 10:19 MiniFilter\Win7Debug\MiniFilter.inf
.CA.... 297984 2017-11-02 10:19 MiniFilter\Win7Debug\MiniFilter.pdb
文件 12448 2017-11-02 10:19 MiniFilter\Win7Debug\MiniFilter.sys
目录 0 2017-11-03 10:44 MiniFilter\MiniFilter\VistaDebug
目录 0 2017-11-03 10:44 MiniFilter\MiniFilter\Win7Debug
目录 0 2017-10-25 15:17 MiniFilter\MiniFilter Package\VistaDebug
目录 0 2017-11-03 10:45 MiniFilter\MiniFilter_dll\Debug
目录 0 2017-11-03 10:45 MiniFilter\UseMiniFilter\Debug
............此处省略11个文件信息
相关资源
- 禁用系统服务reg脚本)
- 让程序禁止结束进程并提示拒绝访问
- XTW100编程器Win10驱动安装
- 被动无钥门禁和电容式传感门把手在
- synaptics触摸板插入USB外接鼠标后自动
- 只要这个程序运行着,用户是无法关
- 基于RFID的门禁系统设计.pdf
- RFID实验代码
- 基于51单片机射频密码锁设计门禁刷卡
- 论文研究 - 世界各地多个城市的涵洞
- 国内首家采用MS全新 MiniFilter架构的
- 采用电总协议的门禁完整程序
- stm32门禁系统设计
- 门禁系统源代码
- 易语言蓝风摄像机源码
- stm32智能门禁系统
- 基于单片机的智能门禁系统设计
- PDF解密(去除禁止编辑权限)
- 连续禁忌搜索算法改进及应用研究
- 可判定禁手保存棋局的五子棋源码
- 网站站长必备,违禁关键词词库近2万
- PDF.js 在线pdf阅读插件禁止打印,,每
- 基于at89c51单片机的门禁系统
- 中控考勤机SDK及Demo
- 自动禁用USB口的VC程序
- 禁止广联达驱动联网后台更新工具
- 手机NFC写白卡工具包MCT、TagInfo、Car
- 51单片机门禁上位机,下位机全部工程
- 门禁管理系统
- 基于stm32的门禁系统
评论
共有 条评论