多种方法 保护进程 断链 修改Flag hook对象 抹psp表 csscs表 注册回调 ObRegisterCallbacks
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-18 01:36 ProtectProcess
文件 17816 2018-05-18 00:17 ProtectProcessDriverEntry.c
文件 3771 2018-05-17 00:59 ProtectProcessIRP_MJ_DEVICE_CONGROL.c
文件 1042 2018-05-17 23:10 ProtectProcessMRWAPI.c
文件 275 2018-05-17 23:10 ProtectProcessMRWAPI.h
文件 8302 2018-05-18 00:06 ProtectProcessObRegisterCallbacks回调保护进程资料.txt
文件 3993 2018-05-17 23:14 ProtectProcessProcessProtect.c
文件 323 2018-05-17 01:08 ProtectProcessProcessProtect.h
文件 5201 2018-05-16 22:59 ProtectProcessProcessStruct.h
文件 188 2018-05-16 23:12 ProtectProcessProcessTtruct.c
文件 2542 2018-05-16 11:27 ProtectProcessProtectProcess.inf
文件 9194 2018-05-18 01:17 ProtectProcessProtectProcess.vcxproj
文件 3552 2018-05-17 23:36 ProtectProcessProtectProcess.vcxproj.filters
文件 1166 2018-05-18 01:09 ProtectProcessProtectProcess.vcxproj.user
文件 9832 2018-05-18 01:32 ProtectProcessProtectProcess_CallBack.c
文件 1223 2018-05-18 00:11 ProtectProcessProtectProcess_CallBack.h
文件 3443 2018-05-16 12:54 ProtectProcessmdlhook.c
文件 80315 2018-05-16 12:04 ProtectProcessx64asm.c
文件 169 2018-05-16 22:10 ProtectProcessx64asm.h
文件 5920 2018-05-18 00:26 ProtectProcess.sln
目录 0 2018-05-18 01:36 ProtectProcess_CallBack
文件 6808 2018-05-18 01:15 ProtectProcess_CallBackDriverEntry.c
文件 2821 2018-05-18 00:24 ProtectProcess_CallBackProtectProcess_CallBack.inf
文件 7926 2018-05-18 00:26 ProtectProcess_CallBackProtectProcess_CallBack.vcxproj
文件 1268 2018-05-18 00:26 ProtectProcess_CallBackProtectProcess_CallBack.vcxproj.filters
文件 271 2018-05-18 00:26 ProtectProcess_CallBackProtectProcess_CallBack.vcxproj.user
目录 0 2018-05-18 01:36 mfc_load_driver
文件 14 2018-05-15 07:16 mfc_load_driverASMX64.h
文件 7133 2018-05-17 00:43 mfc_load_driverDEVICE_IO_CONTROL.cpp
文件 1428 2018-05-16 23:54 mfc_load_driverDEVICE_IO_CONTROL.h
文件 624 2018-05-17 01:17 mfc_load_driverMRWAPI.cpp
............此处省略32个文件信息
#include“stdafx.h“
#include
#include
#include“DEVICE_IO_CONTROL.h“
#include“MRWAPI.h“
//KMDF
//KERNELTEST_WIN32_DEVICE_NAME_W // L“\\.\BufferedIODevcielinkName“
#define DEVICE_link_NAME KERNELTEST_DEVICE_SIMBOLIC_W
//#define CTL_SYS CTL_CODE(FILE_DEVICE_UNKNOWN0x830METHOD_BUFFEREDFILE_ANY_ACCESS)
//BOOL WINAPI DeviceIoControl(
// _In_ HANDLE hDevice //CreateFile函数打开的设备句柄
// _In_ DWORD dwIoControlCode//自定义的控制码
// _In_opt_ LPVOID lpInBuffer //输入缓冲区
// _In_ DWORD nInBufferSize //输入缓冲区的大小
// _Out_opt_ LPVOID lpOutBuffer //输出缓冲区
// _In_ DWORD nOutBufferSize //输出缓冲区的大小
// _Out_opt_ LPDWORD lpBytesReturned //实际返回的字节数,对应驱动程序中pIrp->IoStatus.Information。
// _Inout_opt_ LPOVERLAPPED lpOverlapped //重叠操作结构指针。同步设为NULL,DeviceIoControl将进行阻塞调用;否则,应在编程时按异步操作设计
//);
//测试 传送参数
ULONG64 DeviceIo_Test()
{
UINT nTypeCode = hook_code;
HANDLE DeviceHandle = CreateFile(
DEVICE_link_NAME //
GENERIC_READ | GENERIC_WRITE
FILE_SHARE_READ | FILE_SHARE_WRITE
NULL
OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL
NULL);
TRACE(“yjx:打开设备驱动 DeviceHandle=%lx----------“ DeviceHandle);
if (DeviceHandle == INVALID_HANDLE_VALUE)
{
TRACE(“yjx:打开设备驱动 失败 Error 1132323 DeviceIo_Test
“);
return 0;
}
char BufferDataIn[MAX_PATH] = “Ring3->Ring0“;
char BufferDataOut[MAX_PATH] = { 0 };
DWORD ReturnLength = 0;
BOOL IsOK = DeviceIoControl(
DeviceHandle //CreateFile函数打开的设备句柄
nTypeCode//自定义的控制码
BufferDataIn//输入缓冲区
MAX_PATH//输入缓冲区大小
(LPVOID)BufferDataOut////输出缓冲区
MAX_PATH//输出缓冲区的大小
&ReturnLength//实际返回的字节数,对应驱动程序中pIrp->IoStatus.Information。
NULL); ////重叠操作结构指针。同步设为NULL,DeviceIoControl将进行阻塞调用;否则,应在编程时按异步操作设计
TRACE(“yjx:IsOK=%lx -------“ IsOK);
if (IsOK==0) //IO通信出错
{
//int LastError = GetLastError();
//if (LastError == ERROR_NO_SYSTEM_RESOURCES)
//{
// char BufferData[MAX_PATH] = { 0 };
// IsOK = DeviceIoControl(
// DeviceHandle
// nTypeCode
// “Ring3->Ring0“
// strlen(“Ring3->Ring0“) + 1
// (LPVOID)BufferData
// MAX_PATH//输出缓冲区的大小
// &ReturnLength
// NULL);
// if (LastError == 0)
// {
// TRACE(“yjx:%s
“ BufferData);
// }
//}
}
if (DeviceHandle != NULL)
{
CloseHandle(DeviceHandle);
DeviceHandle = NULL;
}
TRACE(“yjx:test OK retBuf=%s -------111
“ “test“);
TRACE(“yjx:test OK retBuf=%s -------222
“ BufferDataOut);
//getchar();
return 0;
}
//添加要保护的进程
ULONG64 AddPidToProtectList(DWORD PID)// CTLCODE)
{
UINT nTypeCode = addpid_code;//添加保护进程的PID
HANDLE DeviceHandle = CreateFile(
DEVICE_link_NAME //
GENERIC_READ | GENERIC_WRITE
FILE_SHARE_READ | FILE_SHARE_WRITE
NULL
OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL
NULL);
if (DeviceHandle == INVALID_HANDLE_VALUE)
{
TRACE(“yjx:打开设备驱动 失败 Error 1132323 AddPidToProtectList
“);
return 0;
}
DWORD BufferInD
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-18 01:36 ProtectProcess
文件 17816 2018-05-18 00:17 ProtectProcessDriverEntry.c
文件 3771 2018-05-17 00:59 ProtectProcessIRP_MJ_DEVICE_CONGROL.c
文件 1042 2018-05-17 23:10 ProtectProcessMRWAPI.c
文件 275 2018-05-17 23:10 ProtectProcessMRWAPI.h
文件 8302 2018-05-18 00:06 ProtectProcessObRegisterCallbacks回调保护进程资料.txt
文件 3993 2018-05-17 23:14 ProtectProcessProcessProtect.c
文件 323 2018-05-17 01:08 ProtectProcessProcessProtect.h
文件 5201 2018-05-16 22:59 ProtectProcessProcessStruct.h
文件 188 2018-05-16 23:12 ProtectProcessProcessTtruct.c
文件 2542 2018-05-16 11:27 ProtectProcessProtectProcess.inf
文件 9194 2018-05-18 01:17 ProtectProcessProtectProcess.vcxproj
文件 3552 2018-05-17 23:36 ProtectProcessProtectProcess.vcxproj.filters
文件 1166 2018-05-18 01:09 ProtectProcessProtectProcess.vcxproj.user
文件 9832 2018-05-18 01:32 ProtectProcessProtectProcess_CallBack.c
文件 1223 2018-05-18 00:11 ProtectProcessProtectProcess_CallBack.h
文件 3443 2018-05-16 12:54 ProtectProcessmdlhook.c
文件 80315 2018-05-16 12:04 ProtectProcessx64asm.c
文件 169 2018-05-16 22:10 ProtectProcessx64asm.h
文件 5920 2018-05-18 00:26 ProtectProcess.sln
目录 0 2018-05-18 01:36 ProtectProcess_CallBack
文件 6808 2018-05-18 01:15 ProtectProcess_CallBackDriverEntry.c
文件 2821 2018-05-18 00:24 ProtectProcess_CallBackProtectProcess_CallBack.inf
文件 7926 2018-05-18 00:26 ProtectProcess_CallBackProtectProcess_CallBack.vcxproj
文件 1268 2018-05-18 00:26 ProtectProcess_CallBackProtectProcess_CallBack.vcxproj.filters
文件 271 2018-05-18 00:26 ProtectProcess_CallBackProtectProcess_CallBack.vcxproj.user
目录 0 2018-05-18 01:36 mfc_load_driver
文件 14 2018-05-15 07:16 mfc_load_driverASMX64.h
文件 7133 2018-05-17 00:43 mfc_load_driverDEVICE_IO_CONTROL.cpp
文件 1428 2018-05-16 23:54 mfc_load_driverDEVICE_IO_CONTROL.h
文件 624 2018-05-17 01:17 mfc_load_driverMRWAPI.cpp
............此处省略32个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)