From 6b732bfbd6af94c43586663deeb14f66d1da961a Mon Sep 17 00:00:00 2001 From: Kevin Trocolli Date: Sun, 10 Dec 2023 18:59:02 -0500 Subject: [PATCH] add io and serial to procaddr table --- hook/iohook.c | 6 ++++++ hook/meson.build | 2 ++ {hooklib => hook}/procaddr.c | 2 +- {hooklib => hook}/procaddr.h | 0 hooklib/meson.build | 2 -- hooklib/serial.c | 2 ++ 6 files changed, 11 insertions(+), 3 deletions(-) rename {hooklib => hook}/procaddr.c (98%) rename {hooklib => hook}/procaddr.h (100%) diff --git a/hook/iohook.c b/hook/iohook.c index 8aca2ea..aaf01f2 100644 --- a/hook/iohook.c +++ b/hook/iohook.c @@ -17,6 +17,7 @@ #include "hook/hr.h" #include "hook/iohook.h" #include "hook/table.h" +#include "hook/procaddr.h" /* Helpers */ @@ -230,6 +231,11 @@ static void iohook_init(void) /* Splice iohook into IAT entries referencing Win32 I/O APIs */ iohook_apply_hooks(NULL); + proc_addr_table_push( + NULL, + "KERNEL32.DLL", + iohook_kernel32_syms, + _countof(iohook_kernel32_syms)); /* Here be dragons: diff --git a/hook/meson.build b/hook/meson.build index 3658456..afa5979 100644 --- a/hook/meson.build +++ b/hook/meson.build @@ -17,6 +17,8 @@ hook_lib = static_library( 'pe.h', 'peb.c', 'peb.h', + 'procaddr.c', + 'procaddr.h', 'process.c', 'process.h', 'table.c', diff --git a/hooklib/procaddr.c b/hook/procaddr.c similarity index 98% rename from hooklib/procaddr.c rename to hook/procaddr.c index 752f586..0d73e18 100644 --- a/hooklib/procaddr.c +++ b/hook/procaddr.c @@ -3,7 +3,7 @@ #include #include -#include "hooklib/procaddr.h" +#include "hook/procaddr.h" #include "hook/table.h" diff --git a/hooklib/procaddr.h b/hook/procaddr.h similarity index 100% rename from hooklib/procaddr.h rename to hook/procaddr.h diff --git a/hooklib/meson.build b/hooklib/meson.build index 2557d48..e6e62ae 100644 --- a/hooklib/meson.build +++ b/hooklib/meson.build @@ -3,8 +3,6 @@ hooklib_lib = static_library( include_directories : inc, c_pch : '../precompiled.h', sources : [ - 'procaddr.c', - 'procaddr.h', 'serial.c', 'serial.h', 'uart.c', diff --git a/hooklib/serial.c b/hooklib/serial.c index e57e44e..e15aca8 100644 --- a/hooklib/serial.c +++ b/hooklib/serial.c @@ -17,6 +17,7 @@ #include "hook/table.h" #include "hooklib/serial.h" +#include "hook/procaddr.h" /* RS232 API hooks */ @@ -85,6 +86,7 @@ void serial_hook_init(void) } serial_hook_apply_hooks(NULL); + proc_addr_table_push(NULL, "KERNEL32.DLL", serial_syms, _countof(serial_syms)); serial_hook_initted = true; }