From 444fd8ffea39a0c32d852f151aa139e2f7d8ae0d Mon Sep 17 00:00:00 2001 From: PADO <62028267+47PADO47@users.noreply.github.com> Date: Mon, 19 Feb 2024 22:45:26 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Clean=20dllmain=20using=20?= =?UTF-8?q?namespaces?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Internal/dllmain.cpp | 56 +++++++------------------------------------- 1 file changed, 9 insertions(+), 47 deletions(-) diff --git a/Internal/dllmain.cpp b/Internal/dllmain.cpp index db7f7de..1523ea1 100644 --- a/Internal/dllmain.cpp +++ b/Internal/dllmain.cpp @@ -1,63 +1,25 @@ #include #include #include -#include "cheat/UnrealEngine/Engine.h" -#include "cheat/Hook.h" -#include "menu/Menu.h" - -Hook* hook = new Hook(); -Menu* menu = new Menu(); - -void PostRender(UGameViewportClient* UGameViewportClient, Canvas* canvas) -{ - do { - if (Settings.MISC.Unload) { - Settings.MISC.Unload = false; - return hook->UnHook(); - } - - ZeroGUI::SetupCanvas(canvas); - menu->Tick(); - - UWorld* World = *(UWorld**)(WRLD); - if (!World) break; - - UGameInstance* OwningGameInstance = World->OwningGameInstance; - if (!OwningGameInstance) break; - - TArray LocalPlayers = OwningGameInstance->LocalPlayers; - - UPlayer* LocalPlayer = LocalPlayers[0]; - if (!LocalPlayer) break; - - APlayerController* PlayerController = LocalPlayer->PlayerController; - if (!PlayerController) break; - - hook->features->handle(PlayerController); - } while (false); - - return hook->OriginalPostRender(UGameViewportClient, canvas); -} - -void ProcessEvent(UObject* Class, UObject* Function, void* params) { - return hook->OriginalProcessEvent(Class, Function, params); -}; +#include "ue/Engine.h" +#include "hook/Hook.h" +#include "gui/ZeroGUI.h" +#include "hook/functions/PostRender.h" __declspec(dllexport) LRESULT CALLBACK SplitgateCallBack(int code, WPARAM wparam, LPARAM lparam) { MSG* msg = (MSG*)lparam; if (msg->message != HCBT_CREATEWND) return CallNextHookEx(0, code, wparam, lparam); - if (!hook->Init()) return CallNextHookEx(hook->g_hook, code, wparam, HCBT_CREATEWND); + if (!Hook::Init()) return CallNextHookEx(Hook::g_hook, code, wparam, HCBT_CREATEWND); - hook->OriginalPostRender = reinterpret_castOriginalPostRender)>(hook->SetHook(hook->PostRenderVTable, hook->PostRenderIndex, &PostRender)); - //hook->OriginalProcessEvent = reinterpret_castOriginalProcessEvent)>(hook->SetHook(hook->ProcessEventVTable, hook->ProcessEventIndex, &ProcessEvent)); + Hook::OriginalPostRender = reinterpret_cast(Hook::SetHook(Hook::PostRenderVTable, Hook::PostRenderIndex, &PostRender)); Logger::Log("SUCCESS", "Injected"); Logger::Log("INFO", std::format("Base Address: [0x{:x}]", (uintptr_t)GetModuleHandleW(0)).c_str()); Logger::Log("SUCCESS", std::format("Press {} to hide/show the menu", ZeroGUI::VirtualKeyCodeToString(Settings.MENU.ShowHotkey))); - hook->features->rpc->Init(Settings.MISC.DiscordAppID); - hook->features->rpc->UpdatePresence(); + Hook::features->rpc->Init(Settings.MISC.DiscordAppID); + Hook::features->rpc->UpdatePresence(); - return CallNextHookEx(hook->g_hook, code, wparam, lparam); + return CallNextHookEx(Hook::g_hook, code, wparam, lparam); } \ No newline at end of file