From a6447723ea54ba1340ae69742df983ee0dbb060e Mon Sep 17 00:00:00 2001 From: "DESKTOP-VUM307Q\\Romano" Date: Sun, 25 Jul 2021 01:07:24 +0200 Subject: [PATCH] usermode/driver can communicate with other data types than ULONG --- kernel-csgo-usermode/definitions.hpp | 2 +- kernel-csgo-usermode/driver_control.hpp | 2 +- kernel-csgo/definitions.hpp | 2 +- kernel-csgo/dispatch.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel-csgo-usermode/definitions.hpp b/kernel-csgo-usermode/definitions.hpp index 05301f6..1fd11f6 100644 --- a/kernel-csgo-usermode/definitions.hpp +++ b/kernel-csgo-usermode/definitions.hpp @@ -13,6 +13,6 @@ typedef struct _INFO_STRUCT ULONG process_id; ULONG client_base; ULONG address; - ULONG buffer; + void* buffer; ULONG size; }INFO_STRUCT, * PINFO_STRUCT; \ No newline at end of file diff --git a/kernel-csgo-usermode/driver_control.hpp b/kernel-csgo-usermode/driver_control.hpp index af85a1d..be984c7 100644 --- a/kernel-csgo-usermode/driver_control.hpp +++ b/kernel-csgo-usermode/driver_control.hpp @@ -33,7 +33,7 @@ namespace driver_control info.code = CODE_WRITE_MEMORY; info.process_id = process_id; info.address = address; - info.buffer = buffer; + info.buffer = &buffer; info.size = sizeof(t); hook::call_hook(&info); diff --git a/kernel-csgo/definitions.hpp b/kernel-csgo/definitions.hpp index 8915436..30c40b2 100644 --- a/kernel-csgo/definitions.hpp +++ b/kernel-csgo/definitions.hpp @@ -12,6 +12,6 @@ typedef struct _INFO_STRUCT ULONG process_id; ULONG client_base; ULONG address; - ULONG buffer; + void* buffer; ULONG size; }INFO_STRUCT, * PINFO_STRUCT; \ No newline at end of file diff --git a/kernel-csgo/dispatch.cpp b/kernel-csgo/dispatch.cpp index ad4abab..2c48122 100644 --- a/kernel-csgo/dispatch.cpp +++ b/kernel-csgo/dispatch.cpp @@ -29,7 +29,7 @@ void dispatch::handler(void* info_struct) PEPROCESS target_process = NULL; if (NT_SUCCESS(PsLookupProcessByProcessId((HANDLE)info->process_id, &target_process))) { - memory::write_memory(target_process, &info->buffer, (void*)info->address, info->size); + memory::write_memory(target_process, info->buffer, (void*)info->address, info->size); } } }