mirror of
https://github.com/EricPlayZ/EGameTools.git
synced 2025-07-18 17:37:53 +08:00
added proper vtable checking for most classes
This commit is contained in:
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "CBulletPhysicsCharacter.h"
|
#include "CBulletPhysicsCharacter.h"
|
||||||
#include "CoPhysicsProperty.h"
|
#include "CoPhysicsProperty.h"
|
||||||
|
|
||||||
@ -23,6 +24,8 @@ namespace Engine {
|
|||||||
CBulletPhysicsCharacter* ptr = pCoPhysicsProperty->pCBulletPhysicsCharacter;
|
CBulletPhysicsCharacter* ptr = pCoPhysicsProperty->pCBulletPhysicsCharacter;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_CBulletPhysicsCharacter())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "CGSObject.h"
|
#include "CGSObject.h"
|
||||||
#include "CLevel.h"
|
#include "CLevel.h"
|
||||||
|
|
||||||
@ -12,6 +13,8 @@ namespace Engine {
|
|||||||
CGSObject* ptr = pCLevel->pCGSObject;
|
CGSObject* ptr = pCLevel->pCGSObject;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_CGSObject())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -18,6 +18,8 @@ namespace Engine {
|
|||||||
CInput* ptr = *reinterpret_cast<CInput**>(Offsets::Get_g_CInput());
|
CInput* ptr = *reinterpret_cast<CInput**>(Offsets::Get_g_CInput());
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_CInput())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "CGame.h"
|
#include "CGame.h"
|
||||||
#include "CLevel.h"
|
#include "CLevel.h"
|
||||||
|
|
||||||
@ -12,6 +13,8 @@ namespace Engine {
|
|||||||
CLevel* ptr = pCGame->pCLevel;
|
CLevel* ptr = pCGame->pCLevel;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_CLevel())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -11,6 +11,8 @@ namespace Engine {
|
|||||||
CLobbySteam* ptr = *reinterpret_cast<CLobbySteam**>(Offsets::Get_CLobbySteam());
|
CLobbySteam* ptr = *reinterpret_cast<CLobbySteam**>(Offsets::Get_CLobbySteam());
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_CLobbySteam())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "CGame.h"
|
#include "CGame.h"
|
||||||
#include "CVideoSettings.h"
|
#include "CVideoSettings.h"
|
||||||
|
|
||||||
@ -12,6 +13,8 @@ namespace Engine {
|
|||||||
CVideoSettings* ptr = pCGame->pCVideoSettings;
|
CVideoSettings* ptr = pCGame->pCVideoSettings;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "engine_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_CVideoSettings())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -18,6 +18,8 @@ namespace GamePH {
|
|||||||
DayNightCycle* ptr = *reinterpret_cast<DayNightCycle**>(Offsets::Get_g_DayNightCycle());
|
DayNightCycle* ptr = *reinterpret_cast<DayNightCycle**>(Offsets::Get_g_DayNightCycle());
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_DayNightCycle())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -24,6 +24,8 @@ namespace GamePH {
|
|||||||
FreeCamera* ptr = reinterpret_cast<FreeCamera*>(*pg_FreeCamera);
|
FreeCamera* ptr = reinterpret_cast<FreeCamera*>(*pg_FreeCamera);
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_FreeCamera())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -36,6 +36,8 @@ namespace GamePH {
|
|||||||
GameDI_PH* ptr = pCGame->pGameDI_PH;
|
GameDI_PH* ptr = pCGame->pGameDI_PH;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_GameDI_PH())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
#include "..\Engine\CLevel.h"
|
#include "..\Engine\CLevel.h"
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "LevelDI.h"
|
#include "LevelDI.h"
|
||||||
#include "PlayerObjProperties.h"
|
#include "PlayerObjProperties.h"
|
||||||
|
|
||||||
@ -139,6 +140,8 @@ namespace GamePH {
|
|||||||
LevelDI* ptr = pCLevel->pLevelDI;
|
LevelDI* ptr = pCLevel->pLevelDI;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_LevelDI())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "LocalClientDI.h"
|
#include "LocalClientDI.h"
|
||||||
#include "SessionCooperativeDI.h"
|
#include "SessionCooperativeDI.h"
|
||||||
|
|
||||||
@ -12,6 +13,8 @@ namespace GamePH {
|
|||||||
LocalClientDI* ptr = pSessionCooperativeDI->pLocalClientDI;
|
LocalClientDI* ptr = pSessionCooperativeDI->pLocalClientDI;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_LocalClientDI())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
#include "..\Engine\CGSObject2.h"
|
#include "..\Engine\CGSObject2.h"
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "LogicalPlayer.h"
|
#include "LogicalPlayer.h"
|
||||||
|
|
||||||
namespace GamePH {
|
namespace GamePH {
|
||||||
@ -12,6 +13,8 @@ namespace GamePH {
|
|||||||
LogicalPlayer* ptr = pCGSObject2->pLogicalPlayer;
|
LogicalPlayer* ptr = pCGSObject2->pLogicalPlayer;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_LogicalPlayer())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -13,6 +13,8 @@ namespace GamePH {
|
|||||||
PlayerDI_PH* ptr = iLevel->pPlayerDI_PH;
|
PlayerDI_PH* ptr = iLevel->pPlayerDI_PH;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_PlayerDI_PH())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -11,6 +11,8 @@ namespace GamePH {
|
|||||||
PlayerState* ptr = *reinterpret_cast<PlayerState**>(Offsets::Get_PlayerState());
|
PlayerState* ptr = *reinterpret_cast<PlayerState**>(Offsets::Get_PlayerState());
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_PlayerState())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "GameDI_PH.h"
|
#include "GameDI_PH.h"
|
||||||
#include "SessionCooperativeDI.h"
|
#include "SessionCooperativeDI.h"
|
||||||
|
|
||||||
@ -12,6 +13,8 @@ namespace GamePH {
|
|||||||
SessionCooperativeDI* ptr = pGameDI_PH->pSessionCooperativeDI;
|
SessionCooperativeDI* ptr = pGameDI_PH->pSessionCooperativeDI;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_SessionCooperativeDI())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <pch.h>
|
#include <pch.h>
|
||||||
|
#include "..\offsets.h"
|
||||||
#include "CoBaseCameraProxy.h"
|
#include "CoBaseCameraProxy.h"
|
||||||
#include "FreeCamera.h"
|
#include "FreeCamera.h"
|
||||||
#include "TPPCameraDI.h"
|
#include "TPPCameraDI.h"
|
||||||
@ -17,6 +18,8 @@ namespace GamePH {
|
|||||||
TPPCameraDI* ptr = pCoBaseCameraProxy->pTPPCameraDI;
|
TPPCameraDI* ptr = pCoBaseCameraProxy->pTPPCameraDI;
|
||||||
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
if (!Utils::Memory::IsValidPtrMod(ptr, "gamedll_ph_x64_rwdi.dll"))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
if (*reinterpret_cast<DWORD64**>(ptr) != Offsets::GetVT_TPPCameraDI())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
} __except (EXCEPTION_EXECUTE_HANDLER) {
|
||||||
|
@ -29,27 +29,42 @@ static retType GetVT_## name () {\
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct Offsets {
|
struct Offsets {
|
||||||
AddVTOffset(FloatPlayerVariable, "gamedll_ph_x64_rwdi.dll", "FloatPlayerVariable", LPVOID)
|
|
||||||
AddVTOffset(BoolPlayerVariable, "gamedll_ph_x64_rwdi.dll", "BoolPlayerVariable", LPVOID)
|
|
||||||
AddVTOffset(TypedFieldMetaFloatPlayerVariable, "gamedll_ph_x64_rwdi.dll", "?$TypedFieldMeta@VFloatPlayerVariable@@@?$FieldsCollection@VPlayerVariables@@@constds", LPVOID)
|
|
||||||
AddVTOffset(TypedFieldMetaBoolPlayerVariable, "gamedll_ph_x64_rwdi.dll", "?$TypedFieldMeta@VBoolPlayerVariable@@@?$FieldsCollection@VPlayerVariables@@@constds", LPVOID)
|
|
||||||
|
|
||||||
// Input related
|
// Input related
|
||||||
AddOffset(g_CInput, "engine_x64_rwdi.dll", "48 8B 0D [?? ?? ?? ?? 48 85 C9 74 ?? 48 8B 01 84 D2", Utils::SigScan::PatternType::RelativePointer, DWORD64**)
|
AddOffset(g_CInput, "engine_x64_rwdi.dll", "48 8B 0D [?? ?? ?? ?? 48 85 C9 74 ?? 48 8B 01 84 D2", Utils::SigScan::PatternType::RelativePointer, DWORD64**)
|
||||||
|
|
||||||
// Player vars related
|
// Player vars related
|
||||||
//AddOffset(LoadPlayerFloatVariable, "gamedll_ph_x64_rwdi.dll", "E8 [?? ?? ?? ?? 48 8B D0 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 84 24 ?? ?? ?? ??", PatternType::RelativePointer, DWORD64*);
|
AddVTOffset(FloatPlayerVariable, "gamedll_ph_x64_rwdi.dll", "FloatPlayerVariable", LPVOID)
|
||||||
|
AddVTOffset(BoolPlayerVariable, "gamedll_ph_x64_rwdi.dll", "BoolPlayerVariable", LPVOID)
|
||||||
|
AddVTOffset(TypedFieldMetaFloatPlayerVariable, "gamedll_ph_x64_rwdi.dll", "?$TypedFieldMeta@VFloatPlayerVariable@@@?$FieldsCollection@VPlayerVariables@@@constds", LPVOID)
|
||||||
|
AddVTOffset(TypedFieldMetaBoolPlayerVariable, "gamedll_ph_x64_rwdi.dll", "?$TypedFieldMeta@VBoolPlayerVariable@@@?$FieldsCollection@VPlayerVariables@@@constds", LPVOID)
|
||||||
AddOffset(LoadPlayerVars, "gamedll_ph_x64_rwdi.dll", "48 89 4C 24 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 2B E0 48 8B 8C 24", Utils::SigScan::PatternType::Address, LPVOID)
|
AddOffset(LoadPlayerVars, "gamedll_ph_x64_rwdi.dll", "48 89 4C 24 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 2B E0 48 8B 8C 24", Utils::SigScan::PatternType::Address, LPVOID)
|
||||||
AddOffset(PlayerState, "gamedll_ph_x64_rwdi.dll", "4C 8B 35 [?? ?? ?? ?? 4C 8B E2", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
AddOffset(PlayerState, "gamedll_ph_x64_rwdi.dll", "4C 8B 35 [?? ?? ?? ?? 4C 8B E2", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
||||||
|
|
||||||
// Game related
|
// Game related
|
||||||
|
AddVTOffset(CBulletPhysicsCharacter, "engine_x64_rwdi.dll", "CBulletPhysicsCharacter", LPVOID)
|
||||||
|
AddVTOffset(CGSObject, "engine_x64_rwdi.dll", "CGSObject", LPVOID)
|
||||||
|
AddVTOffset(CInput, "engine_x64_rwdi.dll", "CInput", LPVOID)
|
||||||
|
AddVTOffset(CLevel, "engine_x64_rwdi.dll", "CLevel", LPVOID)
|
||||||
|
AddVTOffset(CLobbySteam, "engine_x64_rwdi.dll", "CLobbySteam", LPVOID)
|
||||||
|
AddVTOffset(CVideoSettings, "engine_x64_rwdi.dll", "CVideoSettings", LPVOID)
|
||||||
|
|
||||||
|
AddVTOffset(DayNightCycle, "gamedll_ph_x64_rwdi.dll", "DayNightCycle", LPVOID)
|
||||||
|
AddVTOffset(FreeCamera, "gamedll_ph_x64_rwdi.dll", "FreeCamera", LPVOID)
|
||||||
|
AddVTOffset(GameDI_PH, "gamedll_ph_x64_rwdi.dll", "GameDI_PH", LPVOID)
|
||||||
|
AddVTOffset(LevelDI, "gamedll_ph_x64_rwdi.dll", "LevelDI", LPVOID)
|
||||||
|
AddVTOffset(LocalClientDI, "gamedll_ph_x64_rwdi.dll", "LocalClientDI", LPVOID)
|
||||||
|
AddVTOffset(LogicalPlayer, "gamedll_ph_x64_rwdi.dll", "LogicalPlayer", LPVOID)
|
||||||
|
AddVTOffset(PlayerDI_PH, "gamedll_ph_x64_rwdi.dll", "PlayerDI_PH", LPVOID)
|
||||||
|
AddVTOffset(PlayerState, "gamedll_ph_x64_rwdi.dll", "PlayerState", LPVOID)
|
||||||
|
AddVTOffset(SessionCooperativeDI, "gamedll_ph_x64_rwdi.dll", "SessionCooperativeDI", LPVOID)
|
||||||
|
AddVTOffset(TPPCameraDI, "gamedll_ph_x64_rwdi.dll", "TPPCameraDI", LPVOID)
|
||||||
|
|
||||||
AddStaticOffset(gameDI_PH2_offset, 0x28)
|
AddStaticOffset(gameDI_PH2_offset, 0x28)
|
||||||
AddOffset(CLobbySteam, "engine_x64_rwdi.dll", "48 8B 05 [?? ?? ?? ?? 48 85 C0 74 ?? 48 83 C0", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
AddOffset(CLobbySteam, "engine_x64_rwdi.dll", "48 8B 05 [?? ?? ?? ?? 48 85 C0 74 ?? 48 83 C0", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
||||||
AddOffset(g_PlayerObjProperties, "gamedll_ph_x64_rwdi.dll", "48 89 0D [?? ?? ?? ?? E8 ?? ?? ?? ?? 48 85 C0", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
AddOffset(g_PlayerObjProperties, "gamedll_ph_x64_rwdi.dll", "48 89 0D [?? ?? ?? ?? E8 ?? ?? ?? ?? 48 85 C0", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
||||||
AddOffset(g_DayNightCycle, "gamedll_ph_x64_rwdi.dll", "48 8B 0D [?? ?? ?? ?? 48 85 C9 74 ?? E8 ?? ?? ?? ?? 84 C0 74 ?? B0 ?? 48 83 C4 ?? C3 32 C0", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
AddOffset(g_DayNightCycle, "gamedll_ph_x64_rwdi.dll", "48 8B 0D [?? ?? ?? ?? 48 85 C9 74 ?? E8 ?? ?? ?? ?? 84 C0 74 ?? B0 ?? 48 83 C4 ?? C3 32 C0", Utils::SigScan::PatternType::RelativePointer, LPVOID)
|
||||||
//AddOffset(g_CameraFPPDI, "gamedll_ph_x64_rwdi.dll", "48 89 05 [?? ?? ?? ?? 40 84 FF", PatternType::RelativePointer, DWORD64*)
|
//AddOffset(g_CameraFPPDI, "gamedll_ph_x64_rwdi.dll", "48 89 05 [?? ?? ?? ?? 40 84 FF", PatternType::RelativePointer, DWORD64*)
|
||||||
AddOffset(g_FreeCamera, "gamedll_ph_x64_rwdi.dll", "48 89 05 [?? ?? ?? ?? 48 89 4C 24", Utils::SigScan::PatternType::RelativePointer, DWORD64*)
|
AddOffset(g_FreeCamera, "gamedll_ph_x64_rwdi.dll", "48 89 05 [?? ?? ?? ?? 48 89 4C 24", Utils::SigScan::PatternType::RelativePointer, DWORD64*)
|
||||||
//AddOffset(CameraFPPDI_VT, "gamedll_ph_x64_rwdi.dll", "48 8D 05 [?? ?? ?? ?? 48 89 07 48 8D 4F 60", PatternType::RelativePointer, DWORD64)
|
|
||||||
AddOffset(SaveGameCRCBoolCheck, "gamedll_ph_x64_rwdi.dll", "FF 50 ?? [40 22 DF 0F 85 ?? ?? ?? ?? 0F B6 05 ?? ?? ?? ?? 48 8D 3D", Utils::SigScan::PatternType::Address, LPVOID)
|
AddOffset(SaveGameCRCBoolCheck, "gamedll_ph_x64_rwdi.dll", "FF 50 ?? [40 22 DF 0F 85 ?? ?? ?? ?? 0F B6 05 ?? ?? ?? ?? 48 8D 3D", Utils::SigScan::PatternType::Address, LPVOID)
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
@ -119,7 +119,7 @@ namespace Utils {
|
|||||||
|
|
||||||
// Here I'm checking for <= 8 as we're adding 0x8 to it. So if the pattern scan returns 0 we still head the fuck out
|
// Here I'm checking for <= 8 as we're adding 0x8 to it. So if the pattern scan returns 0 we still head the fuck out
|
||||||
if (vtableAddr <= 8)
|
if (vtableAddr <= 8)
|
||||||
return 0;
|
continue;
|
||||||
|
|
||||||
return vtableAddr;
|
return vtableAddr;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user