From 0ff6134b79798ff483ee0c53640ec3e7d6e8c923 Mon Sep 17 00:00:00 2001 From: Will Xyen Date: Tue, 15 Mar 2022 16:50:03 -0700 Subject: [PATCH] sdvxhook: address comments --- src/main/sdvxhook2/Module.mk | 2 ++ src/main/sdvxhook2/dllmain.c | 3 --- src/main/sdvxhook2/nvapi.c | 18 ------------------ 3 files changed, 2 insertions(+), 21 deletions(-) diff --git a/src/main/sdvxhook2/Module.mk b/src/main/sdvxhook2/Module.mk index d83e1df..aa38c66 100644 --- a/src/main/sdvxhook2/Module.mk +++ b/src/main/sdvxhook2/Module.mk @@ -28,3 +28,5 @@ src_sdvxhook2 := \ bi2a.c \ dllmain.c \ config-io.c \ + nvapi.c \ + power.c \ diff --git a/src/main/sdvxhook2/dllmain.c b/src/main/sdvxhook2/dllmain.c index 9e958df..e601e3a 100644 --- a/src/main/sdvxhook2/dllmain.c +++ b/src/main/sdvxhook2/dllmain.c @@ -152,17 +152,14 @@ static bool my_dll_entry_init(char *sidcode, struct property_node *param) ac_io_port_init(config_io.com1_card_reader); } - // camera hooks if (!config_cam.disable_emu) { camhook_init(&config_cam); } - // power hooks if (!config_io.disable_power_hooks) { powerhook_init(); } - // nvapi hooks if (!config_io.disable_nvapi_hooks) { nvapihook_init(); } diff --git a/src/main/sdvxhook2/nvapi.c b/src/main/sdvxhook2/nvapi.c index b7e957e..ec1baf5 100644 --- a/src/main/sdvxhook2/nvapi.c +++ b/src/main/sdvxhook2/nvapi.c @@ -17,10 +17,8 @@ #include "util/log.h" -static HMODULE my_LoadLibraryExW(const wchar_t *name, HANDLE hFile, DWORD dwFlags); static void *my_GetProcAddress(HMODULE dll, const char *name); -static HMODULE(*real_LoadLibraryExW)(const wchar_t *name, HANDLE hFile, DWORD dwFlags); static void *(*real_GetProcAddress)(HMODULE dll, const char *name); // nvapi64.dll @@ -28,29 +26,13 @@ static void *my_nvapi_QueryInterface(uint32_t FunctionOffset); static void *(*real_nvapi_QueryInterface)(uint32_t FunctionOffset); static struct hook_symbol nvapihook_kernel_syms[] = { - {.name = "LoadLibraryExW", - .patch = my_LoadLibraryExW, - .link = (void *) &real_LoadLibraryExW}, {.name = "GetProcAddress", .patch = my_GetProcAddress, .link = (void *) &real_GetProcAddress}, }; -static HMODULE my_LoadLibraryExW(const wchar_t *name, HANDLE hFile, DWORD dwFlags) -{ - // if (wcsicmp(name, L"nvpowerapi.dll") == 0 || wcsicmp(name, L"nvapi64.dll") == 0)) { - // return NULL; - // } - - return real_LoadLibraryExW(name, hFile, dwFlags); -} - static void *my_GetProcAddress(HMODULE dll, const char *name) { - // if (dll != NULL) { - // return real_GetProcAddress(dll, name); - // } - if (strcmp("nvapi_QueryInterface", name) == 0) { log_info("Request for stub %s", name); real_nvapi_QueryInterface = real_GetProcAddress(dll, name);