init
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
#include "client_driver.h"
|
||||
#include "driver_func.h"
|
||||
#include "client_pipe.h"
|
||||
|
||||
|
||||
client_driver* client_driver::instance = nullptr;
|
||||
PMAPPING_USER_MEMORY client_driver::mapping_data = nullptr;
|
||||
|
||||
auto client_driver::fn_get_instance() -> client_driver*
|
||||
{
|
||||
if (instance == nullptr)
|
||||
{
|
||||
instance = new client_driver;
|
||||
}
|
||||
if (mapping_data == nullptr)
|
||||
{
|
||||
mapping_data = pMapping_Memory;
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
auto client_driver::driver_map_load() -> BOOL
|
||||
{
|
||||
return HBClientLoadDriverW();
|
||||
}
|
||||
|
||||
auto client_driver::check_load_driver() -> BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
CMD_COMM data;
|
||||
data.CommID = DRIVER_COOM_TYPE::DRIVER_COMM_TEST;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
|
||||
return NT_SUCCESS(status);
|
||||
}
|
||||
|
||||
auto client_driver::add_process_protect(DWORD Pid) ->BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
CMD_COMM data;
|
||||
IOCTL_PROCESS process{ 0 };
|
||||
process.Pid = Pid;
|
||||
|
||||
data.CommID = DRIVER_COOM_TYPE::DRIVER_PROTECT_PROCESS;
|
||||
data.Buf = (DWORD64)&process;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return NT_SUCCESS(status);
|
||||
}
|
||||
|
||||
auto client_driver::delete_process_protect(DWORD Pid)->BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
CMD_COMM data;
|
||||
IOCTL_PROCESS process{ 0 };
|
||||
process.Pid = Pid;
|
||||
|
||||
data.CommID = DRIVER_COOM_TYPE::DRIVER_CANCEL_PROTECT_PROCESS;
|
||||
data.Buf = (DWORD64)&process;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return NT_SUCCESS(status);
|
||||
}
|
||||
|
||||
auto client_driver::window_anit_screen(HWND hwnd, UINT Flags) -> BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
CMD_COMM data;
|
||||
IOCTL_WINDOW window{ 0 };
|
||||
|
||||
window.HWND = (DWORD64)hwnd;
|
||||
window.Flags = Flags;
|
||||
|
||||
data.CommID = DRIVER_COOM_TYPE::WINDOW_ANIT_SCREEN;
|
||||
data.Buf = (DWORD64)&window;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return status;
|
||||
}
|
||||
|
||||
auto client_driver::install_mouse_keyboard() -> BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
CMD_COMM data;
|
||||
data.CommID = DRIVER_COOM_TYPE::INSTALL_MOUSE_KEYBOARD;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return status;
|
||||
}
|
||||
|
||||
auto client_driver::unload_mouse_keyboard()->BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
CMD_COMM data;
|
||||
data.CommID = DRIVER_COOM_TYPE::UNLOAD_MOUSE_KEYBOARD;
|
||||
data.status = (DWORD64)&status;
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return status;
|
||||
}
|
||||
auto client_driver::add_white_mouse_keyoard_process(DWORD Pid) -> BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
IOCTL_PROCESS process{ 0 };
|
||||
process.Pid = Pid;
|
||||
|
||||
CMD_COMM data;
|
||||
data.CommID = DRIVER_COOM_TYPE::ADD_WHITE_PROCESS;
|
||||
data.Buf = (DWORD64)&process;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return status;
|
||||
}
|
||||
|
||||
auto client_driver::enjoin_remote_thread(BOOL val) -> BOOL
|
||||
{
|
||||
NTSTATUS status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
IOCTL_PROCESS process{ 0 };
|
||||
process.is_no_create_remote_thread = val;
|
||||
|
||||
CMD_COMM data;
|
||||
data.CommID = DRIVER_COOM_TYPE::PROTECT_THREAD_CONTRL;
|
||||
data.Buf = (DWORD64)&process;
|
||||
data.status = (DWORD64)&status;
|
||||
|
||||
driver_func::driver_comm_func(&data, sizeof(data));
|
||||
return status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user