From c232462906913621ca16e324b25561664cf8d7f8 Mon Sep 17 00:00:00 2001 From: pizzaboxer <41478239+pizzaboxer@users.noreply.github.com> Date: Wed, 1 Jun 2022 14:23:53 +0100 Subject: [PATCH] ScriptContext execution for Datamodel via DLL --- PolygonClientUtilities/Classes.h | 27 ++++++++-- .../Debug/PolygonClientUtilities.ilk | Bin 2315040 -> 4537408 bytes PolygonClientUtilities/DebugScriptContext.cpp | 15 ++++++ PolygonClientUtilities/DebugScriptContext.h | 7 +++ .../PolygonClientUtilities.vcxproj | 4 +- .../PolygonClientUtilities.vcxproj.filters | 12 ++--- PolygonClientUtilities/RCCOutput.cpp | 46 +++++++++++++++--- PolygonClientUtilities/dllmain.cpp | 2 + 8 files changed, 93 insertions(+), 20 deletions(-) create mode 100644 PolygonClientUtilities/DebugScriptContext.cpp create mode 100644 PolygonClientUtilities/DebugScriptContext.h diff --git a/PolygonClientUtilities/Classes.h b/PolygonClientUtilities/Classes.h index 26e0d08..018bd6b 100644 --- a/PolygonClientUtilities/Classes.h +++ b/PolygonClientUtilities/Classes.h @@ -3,19 +3,38 @@ #include "Config.h" #include -struct Game +struct Tuple { - void* padding1[26]; // 2010 has a class size of 104 + void* padding1[4]; + bool padding2; + bool padding3; }; -const auto Game__initializeConstruct = (void * (__thiscall*)(void* _this, int a2))0x455D40; - struct DataModel { void* padding1[CLASSPADDING_DATAMODEL__JOBID + PADDING_STRUCT]; std::string jobId; }; +struct Game +{ + // void* padding1[26]; // 2010 has a class size of 104 + void* padding1[8]; + // int dataModel; + // void* padding2[17]; + std::shared_ptr dataModel; + void* padding2[9]; +}; + +const auto Game__initializeClass = (Game * (__thiscall*)(void* _this, int a2))0x455D40; + +const auto sub_47C280 = (int(__thiscall*)(int _this, int a2))0x47C280; +const auto sub_902680 = (void * (__thiscall*)(void * _this))0x902680; +const auto ServiceProvider__createScriptContext = (void * (__thiscall*)(void* _this))0x4282E0; +const auto ScriptContext__setTimeout = (void (__thiscall*)(void* _this, double seconds))0x616EB0; +// const auto ScriptContext__execute = (void * (__thiscall*)(void* _this, void* a1, int identity, const char* script, const char* name, int arguments))0x617CF0; +const auto ScriptContext__execute = (void (__thiscall*)(void* _this, int identity, const char* script, const char* name))0x617C80; + struct Http { #if PADDING_STRUCT != 0 diff --git a/PolygonClientUtilities/Debug/PolygonClientUtilities.ilk b/PolygonClientUtilities/Debug/PolygonClientUtilities.ilk index bca18feca14fe224a2b576536c29b7840e56362a..972eb3fd96557fa4e8bed053877c1c8ea8706c11 100644 GIT binary patch literal 4537408 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⪼KPzF_K9GqqJH`qDgNcn+mR?y54&Pq@Yz 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

H3VE#} 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