Files
jadeite/game_payload/src/main.c

38 lines
902 B
C
Raw Normal View History

2023-06-06 00:23:08 +03:00
#include <windows.h>
#include <ntdll.h>
#include <ace.h>
#include <game.h>
#include <tp6.h>
#include <utils.h>
BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) {
// Only listen to attach
if (reason != DLL_PROCESS_ATTACH) {
return TRUE;
}
// Dynamically link functions from ntdll
ntdll_link();
// Detect which game the user is trying to run
struct game_data game;
game_detect(&game);
// Create fake ACE driver files
ace_fake_driver_files();
// Load both ACE modules
HMODULE baseModule = ace_load_base_module(game.name);
ace_load_driver_module();
// ...magic
tp6_setup_patcher(&game, instance, baseModule);
2023-06-08 20:13:21 +03:00
// Load the UnityPlayer module and invoke the callback
HMODULE unityModule = LoadLibraryA("UnityPlayer.dll");
2023-06-08 20:13:21 +03:00
INVOKE_CALLBACK(game.unityplayer_callback, unityModule);
2023-06-06 00:23:08 +03:00
return TRUE;
}