feat dispatch protect and anit screen
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
#include "comm_dispatch.h"
|
||||
#include "protect_filter.h"
|
||||
|
||||
#include "anit_screen_grap.h"
|
||||
namespace comm_dispatch
|
||||
{
|
||||
auto dispatch(CMD_COMM* data) -> NTSTATUS
|
||||
{
|
||||
|
||||
auto status = STATUS_UNSUCCESSFUL;
|
||||
switch (data->CommID)
|
||||
{
|
||||
@@ -15,7 +16,17 @@ namespace comm_dispatch
|
||||
}
|
||||
case CMD::DRIVER_PROTECT_PROCESS:
|
||||
{
|
||||
status = protect_filter::add_list((ULONG)data->Pid, NULL);
|
||||
auto process_data = (IOCTL_PROCESS*)data->Buf;
|
||||
status = protect_filter::add_list((ULONG)process_data->Pid, NULL);
|
||||
break;
|
||||
}
|
||||
case CMD::WINDOW_ANIT_SCREEN:
|
||||
{
|
||||
auto window_data = (IOCTL_WINDOW*)data->Buf;
|
||||
|
||||
status = anit_screen_grap::GreProtectSpriteContent(
|
||||
(HWND)window_data->HWND, (UINT)window_data->Flags);
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -4,15 +4,26 @@
|
||||
struct CMD_COMM
|
||||
{
|
||||
DWORD64 CommID;
|
||||
DWORD64 Pid;
|
||||
DWORD64 Buf;
|
||||
DWORD64 status;
|
||||
};
|
||||
|
||||
struct IOCTL_PROCESS
|
||||
{
|
||||
DWORD64 Pid;
|
||||
};
|
||||
|
||||
struct IOCTL_WINDOW
|
||||
{
|
||||
DWORD64 HWND;
|
||||
DWORD64 Flags;
|
||||
};
|
||||
enum CMD
|
||||
{
|
||||
MSG_BASE = 0x10000,
|
||||
DRIVER_COMM_TEST,
|
||||
DRIVER_PROTECT_PROCESS
|
||||
DRIVER_PROTECT_PROCESS,
|
||||
WINDOW_ANIT_SCREEN,
|
||||
};
|
||||
|
||||
namespace comm_dispatch
|
||||
|
||||
Reference in New Issue
Block a user