diff --git a/game_payload/src/main.c b/game_payload/src/main.c index 1e7095e..3e9c759 100644 --- a/game_payload/src/main.c +++ b/game_payload/src/main.c @@ -29,5 +29,8 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) { // ...magic tp6_setup_patcher(&game, instance, baseModule); + // Load the UnityPlayer module + HMODULE unityModule = LoadLibraryA("UnityPlayer.dll"); + return TRUE; } diff --git a/injector/launcher_payload/src/payload.asm b/injector/launcher_payload/src/payload.asm index 10048bc..7ed0f1d 100644 --- a/injector/launcher_payload/src/payload.asm +++ b/injector/launcher_payload/src/payload.asm @@ -18,7 +18,6 @@ main: ; Replacement entry point lea rdx, [rel s_LoadLibraryA] mov rax, [rbp - 10h] ; *GetProcAddress call rax ; rax = *LoadLibraryA - mov [rbp - 18h], rax lea rcx, [rel dllPath] call rax ; LoadLibraryA(dllPath) @@ -28,6 +27,7 @@ main: ; Replacement entry point lea rdx, [rel s_GetModuleHandleA] mov rax, [rbp - 10h] ; *GetProcAddress call rax ; rax = *GetModuleHandle + mov [rbp - 18h], rax mov rcx, 0 call rax ; rax = .exe base address @@ -43,7 +43,7 @@ main: ; Replacement entry point lea rcx, [rel s_UnityPlayer.dll] - mov rax, [rbp - 18h] ; *LoadLibraryA + mov rax, [rbp - 18h] ; *GetModuleHandleA call rax ; rax = UnityPlayer.dll mov rcx, rax