资源简介
多种方法 保护进程 断链 修改Flag hook对象 抹psp表 csscs表 注册回调 ObRegisterCallbacks
代码片段和文件信息
#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\n“);
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\r\n“ BufferData);
// }
//}
}
if (DeviceHandle != NULL)
{
CloseHandle(DeviceHandle);
DeviceHandle = NULL;
}
TRACE(“yjx:test OK retBuf=%s -------111\r\n“ “test“);
TRACE(“yjx:test OK retBuf=%s -------222\r\n“ 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\n“);
return 0;
}
DWORD BufferInD
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-18 01:36 ProtectProcess\
文件 17816 2018-05-18 00:17 ProtectProcess\DriverEntry.c
文件 3771 2018-05-17 00:59 ProtectProcess\IRP_MJ_DEVICE_CONGROL.c
文件 1042 2018-05-17 23:10 ProtectProcess\MRWAPI.c
文件 275 2018-05-17 23:10 ProtectProcess\MRWAPI.h
文件 8302 2018-05-18 00:06 ProtectProcess\ObRegisterCallbacks回调保护进程资料.txt
文件 3993 2018-05-17 23:14 ProtectProcess\ProcessProtect.c
文件 323 2018-05-17 01:08 ProtectProcess\ProcessProtect.h
文件 5201 2018-05-16 22:59 ProtectProcess\ProcessStruct.h
文件 188 2018-05-16 23:12 ProtectProcess\ProcessTtruct.c
文件 2542 2018-05-16 11:27 ProtectProcess\ProtectProcess.inf
文件 9194 2018-05-18 01:17 ProtectProcess\ProtectProcess.vcxproj
文件 3552 2018-05-17 23:36 ProtectProcess\ProtectProcess.vcxproj.filters
文件 1166 2018-05-18 01:09 ProtectProcess\ProtectProcess.vcxproj.user
文件 9832 2018-05-18 01:32 ProtectProcess\ProtectProcess_CallBack.c
文件 1223 2018-05-18 00:11 ProtectProcess\ProtectProcess_CallBack.h
文件 3443 2018-05-16 12:54 ProtectProcess\mdlhook.c
文件 80315 2018-05-16 12:04 ProtectProcess\x64asm.c
文件 169 2018-05-16 22:10 ProtectProcess\x64asm.h
文件 5920 2018-05-18 00:26 ProtectProcess.sln
目录 0 2018-05-18 01:36 ProtectProcess_CallBack\
文件 6808 2018-05-18 01:15 ProtectProcess_CallBack\DriverEntry.c
文件 2821 2018-05-18 00:24 ProtectProcess_CallBack\ProtectProcess_CallBack.inf
文件 7926 2018-05-18 00:26 ProtectProcess_CallBack\ProtectProcess_CallBack.vcxproj
文件 1268 2018-05-18 00:26 ProtectProcess_CallBack\ProtectProcess_CallBack.vcxproj.filters
文件 271 2018-05-18 00:26 ProtectProcess_CallBack\ProtectProcess_CallBack.vcxproj.user
目录 0 2018-05-18 01:36 mfc_load_driver\
文件 14 2018-05-15 07:16 mfc_load_driver\ASMX64.h
文件 7133 2018-05-17 00:43 mfc_load_driver\DEVICE_IO_CONTROL.cpp
文件 1428 2018-05-16 23:54 mfc_load_driver\DEVICE_IO_CONTROL.h
文件 624 2018-05-17 01:17 mfc_load_driver\MRWAPI.cpp
............此处省略32个文件信息
相关资源
- CASS9.1 64位驱动
- WLG1500Awin732/64位驱动
- ADB win10 64位驱动
- 天使也掉毛 Win64 驱动内核编程
- 64位驱动加载及查看工具,实为共享同
- X3650-M4的SAS9212-4i4e的32位和64位驱动
- win10 64位驱动安装工具
- 爱普生T50win7 64位驱动
- MAUDIO SOLO WIN7 64位驱动
- 英特尔AX200无线网卡Win10 64位驱动WIF
- UHD620核心显卡Win7 64位驱动
- 禁用 WIN7 X64内核保护驱动签名
- TI cc2540 64位驱动
- MATROX_G200eR 64位驱动 for windows2003 x64
- CYUSB68013 WIN7 64位驱动
- ch340 win10 64位驱动
- CH340G-CH340通用驱动 支持win10/win7 64位驱
- Windows驱动签名工具 64Signer
- USB Blaster 64位驱动 不蓝屏
- Realtek PCIe GBE Family Controller Win7-3264位驱
- 64位驱动证书签名工具signtool.exe
- 64位驱动SSDTHOOK教程
- LQ1600K For Win7 64位驱动
- 莫防破解模块2.0,支持全系统隐藏进
- wavecom短信猫win7 2008server64位驱动
- cass9.2 64位驱动
- 64位驱动加载工具
- usb_serial CH340(64位驱动) 串口转usb口
- SAM-BA Win7 64位驱动之系统文件:AT91
-
eli
nk 64位驱动
评论
共有 条评论