From 40b6f5efaeb1d78ba5081f3c4b8ab6dc29087f9d Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 24 Apr 2022 11:21:04 +0200 Subject: [PATCH] More cleanup --- src/driver/irp.cpp | 3 --- src/runner/main.cpp | 15 +++++++-------- src/shared/irp_data.hpp | 5 ++--- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/driver/irp.cpp b/src/driver/irp.cpp index aaf02cf..55929a6 100644 --- a/src/driver/irp.cpp +++ b/src/driver/irp.cpp @@ -138,9 +138,6 @@ namespace switch (ioctr_code) { - case HELLO_DRV_IOCTL: - debug_log("Hello from the Driver!\n"); - break; case HOOK_DRV_IOCTL: try_apply_hook(irp_sp); break; diff --git a/src/runner/main.cpp b/src/runner/main.cpp index c097cd5..5d09009 100644 --- a/src/runner/main.cpp +++ b/src/runner/main.cpp @@ -46,17 +46,17 @@ void insert_nop(const driver_device& driver_device, const uint32_t pid, const ui patch_data(driver_device, pid, addr, buffer.data(), buffer.size()); } +void remove_hooks(const driver_device& driver_device) +{ + (void)driver_device.send(UNHOOK_DRV_IOCTL, driver_device::data{}); +} + void unsafe_main(const int /*argc*/, char* /*argv*/[]) { printf("Pid: %lu\n", GetCurrentProcessId()); driver driver{get_current_path() / "driver.sys", "MomoLul"}; - driver_device driver_device{"\\\\.\\HelloDev"}; - - driver_device::data input{}; - input.resize(4); - - (void)driver_device.send(HELLO_DRV_IOCTL, input); + const driver_device driver_device{R"(\\.\HelloDev)"}; std::string pid; std::cout << "Please, enter the pid: "; @@ -84,8 +84,7 @@ void unsafe_main(const int /*argc*/, char* /*argv*/[]) printf("Press any key to disable all hooks!\n"); _getch(); - input.resize(0); - (void)driver_device.send(UNHOOK_DRV_IOCTL, input); + remove_hooks(driver_device); printf("Press any key to exit!\n"); _getch(); diff --git a/src/shared/irp_data.hpp b/src/shared/irp_data.hpp index 0227c21..bd5f704 100644 --- a/src/shared/irp_data.hpp +++ b/src/shared/irp_data.hpp @@ -1,8 +1,7 @@ #pragma once -#define HELLO_DRV_IOCTL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_NEITHER, FILE_ANY_ACCESS) -#define HOOK_DRV_IOCTL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_NEITHER, FILE_ANY_ACCESS) -#define UNHOOK_DRV_IOCTL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x802, METHOD_NEITHER, FILE_ANY_ACCESS) +#define HOOK_DRV_IOCTL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_NEITHER, FILE_ANY_ACCESS) +#define UNHOOK_DRV_IOCTL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_NEITHER, FILE_ANY_ACCESS) static_assert(sizeof(void*) == 8);