#pragma once #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #ifndef NOMINMAX #define NOMINMAX #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "imgui.h" #include "imgui_impl_dx11.h" #include "imgui_impl_win32.h" extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); namespace Binary { constexpr uintptr_t kImageBase = 0x180000000ull; constexpr uintptr_t kDataBase = 0x1803C5000ull; constexpr uintptr_t kIatBaseRva = 0x000B1000ull; constexpr uintptr_t kGConfigPanelPtrOffset = 0x15D8ull; constexpr uintptr_t kShowPanelFlagOffset = 0x245Cull; constexpr uintptr_t kActiveTabOffset = 0x1F68ull; constexpr uintptr_t kLanguageIndexOffset = 0x27B0ull; } // namespace Binary namespace RVA { constexpr uint32_t DllMainEntry = 0x00001000; constexpr uint32_t LoaderThread = 0x00005000; constexpr uint32_t StartupMain = 0x000A9190; constexpr uint32_t GABypassPatch = 0x000A9120; constexpr uint32_t ModuleManagerInit = 0x0009AC10; constexpr uint32_t OverlayWindowInit = 0x000827A0; constexpr uint32_t WndProc = 0x000826A0; constexpr uint32_t D3D11Reinit = 0x000825B0; constexpr uint32_t ImGuiWin32WndProcHandler = 0x00057720; constexpr uint32_t HookMgrCreateHook = 0x000A9CC8; constexpr uint32_t HookMgrRemoveHook = 0x000A9E8C; constexpr uint32_t HookMgrEnableHook = 0x000A9A9C; constexpr uint32_t HookMgrAcquireSpinlock = 0x000A9C88; constexpr uint32_t SettingsTabRender = 0x0009A4F0; constexpr uint32_t SidebarRender = 0x0007F8F0; } // namespace RVA namespace IL2CPP { constexpr uintptr_t GameObject_GetComponentByIndex = 0x1C48; constexpr uintptr_t il2cpp_domain_get_assemblies_A = 0x1C50; constexpr uintptr_t Component_GetComponent_Transform = 0x1C58; constexpr uintptr_t Transform_get_localScale = 0x1C60; constexpr uintptr_t Transform_get_rotation = 0x1C68; constexpr uintptr_t il2cpp_object_get_class = 0x1C70; constexpr uintptr_t il2cpp_class_get_method_from_name = 0x1C78; constexpr uintptr_t Transform_get_localPosition = 0x1C80; constexpr uintptr_t Transform_get_position = 0x1C88; constexpr uintptr_t Transform_set_localPosition = 0x1C90; constexpr uintptr_t GameObject_SetActive = 0x1C98; constexpr uintptr_t GameObject_get_transform = 0x1CA0; constexpr uintptr_t Transform_set_rotation = 0x1CA8; constexpr uintptr_t GameObject_get_activeInHierarchy = 0x1CB0; constexpr uintptr_t GameObject_get_tag = 0x1CB8; constexpr uintptr_t GameObject_get_name = 0x1CC0; constexpr uintptr_t GameObject_get_layer = 0x1CC8; constexpr uintptr_t GameObject_get_scene = 0x1CD0; constexpr uintptr_t Game_SkillBuff_A = 0x1CD8; constexpr uintptr_t GetEntityName = 0x1CE0; constexpr uintptr_t Component_GetComponents = 0x1CE8; constexpr uintptr_t Component_GetComponentsInChildren = 0x1CF0; constexpr uintptr_t Game_SkillSlot_A = 0x1CF8; constexpr uintptr_t Object_get_name = 0x1D00; constexpr uintptr_t Component_GetType_A = 0x1D08; constexpr uintptr_t Component_GetType_B = 0x1D10; constexpr uintptr_t Game_SkillSlot_B = 0x1D18; constexpr uintptr_t Game_Combat_HitA = 0x1D20; constexpr uintptr_t GetEntityManager = 0x1D28; constexpr uintptr_t Game_Combat_HitB = 0x1D30; constexpr uintptr_t Game_Movement_PhysA = 0x1D38; constexpr uintptr_t Game_Movement_PhysB = 0x1D40; constexpr uintptr_t Application_set_targetFrameRate = 0x1D48; constexpr uintptr_t SceneManager_GetActiveScene = 0x1D50; constexpr uintptr_t CinemachineBrain_GetActiveVCam = 0x1D58; constexpr uintptr_t Game_EntityState_A = 0x1D60; constexpr uintptr_t Transform_set_localScale = 0x1D68; constexpr uintptr_t Rigidbody_get_velocity = 0x1D70; constexpr uintptr_t Rigidbody_set_velocity = 0x1D78; constexpr uintptr_t Object_Destroy = 0x1D80; constexpr uintptr_t Transform_set_position = 0x1D88; constexpr uintptr_t Game_EntityState_B = 0x1D90; constexpr uintptr_t Input_GetAxis_MouseX = 0x1D98; constexpr uintptr_t Game_PlayerState_A = 0x1DA0; constexpr uintptr_t Game_PlayerState_B = 0x1DA8; constexpr uintptr_t Game_PlayerHealthStat = 0x1DB0; constexpr uintptr_t Camera_get_main = 0x1DC0; constexpr uintptr_t GameObject_FindObjectOfType = 0x1DC8; constexpr uintptr_t Game_SkillAction_C = 0x1DD8; constexpr uintptr_t Camera_get_fieldOfView = 0x1DE8; constexpr uintptr_t Game_EntityState_C = 0x1DF0; constexpr uintptr_t Rigidbody_AddForce = 0x1E00; constexpr uintptr_t CharCtrl_set_enabled = 0x1E08; constexpr uintptr_t Game_SkillAction_F = 0x1E10; constexpr uintptr_t Game_SkillAction_G = 0x1E18; constexpr uintptr_t GetCharacterController = 0x1E20; constexpr uintptr_t TMPro_set_text = 0x1E28; constexpr uintptr_t UnityUI_Text_set_text = 0x1E30; constexpr uintptr_t Game_SkillAction_I = 0x1E38; constexpr uintptr_t Game_SkillAction_J = 0x1E40; constexpr uintptr_t Game_EntityActor_D = 0x1E48; constexpr uintptr_t Game_SkillAction_K = 0x1E50; constexpr uintptr_t Game_SkillAction_L = 0x1E58; constexpr uintptr_t Game_EntityActor_E = 0x1E60; constexpr uintptr_t Game_EntityActor_F = 0x1E68; constexpr uintptr_t il2cpp_domain_get = 0x1E70; constexpr uintptr_t il2cpp_assembly_get_image = 0x1E78; constexpr uintptr_t il2cpp_domain_get_assemblies_B = 0x1E80; } // namespace IL2CPP struct Vec3 { float x = 0.0f; float y = 0.0f; float z = 0.0f; }; struct Quat { float x = 0.0f; float y = 0.0f; float z = 0.0f; float w = 1.0f; }; enum class Language : uint32_t { English = 0, ZhCN = 1, }; enum class MainTab : int { About = 0, Player = 1, ESP = 2, World = 3, Visual = 4, Settings = 5, }; struct RuntimeConfig { std::atomic running{false}; std::atomic show_panel{true}; std::atomic il2cpp_thread_attached{false}; std::atomic active_tab{MainTab::About}; std::atomic language{Language::English}; std::atomic game_thread_id{0}; uintptr_t game_assembly_base = 0; HWND game_hwnd = nullptr; HWND overlay_hwnd = nullptr; }; extern RuntimeConfig g_Runtime; template inline Fn BitCastFn(void* ptr) { return reinterpret_cast(ptr); }