Fix some stuff for all versions

This commit is contained in:
pizzaboxer 2022-05-31 10:45:04 +01:00
parent 1715621aa5
commit 4e7fd7a02c
6 changed files with 26 additions and 7 deletions

View File

@ -3,7 +3,6 @@
#include "Config.h" #include "Config.h"
#include <oaidl.h> #include <oaidl.h>
#ifdef ARBITERBUILD
struct DataModel struct DataModel
{ {
void* padding1[CLASSPADDING_DATAMODEL__JOBID]; void* padding1[CLASSPADDING_DATAMODEL__JOBID];
@ -27,9 +26,7 @@ struct ServerReplicator
bool padding2; // offset of 7476 -> 7477 bool padding2; // offset of 7476 -> 7477
bool isAuthenticated; // offset of 7477 -> 7478 bool isAuthenticated; // offset of 7477 -> 7478
}; };
#endif
#if defined(MFC2010) || defined(MFC2011)
// 2010 struct definitions: // 2010 struct definitions:
// 0x47E010: CWorkspace->DoExecScript() // 0x47E010: CWorkspace->DoExecScript()
// 0x47EC10: CWorkspace->ExecUrlScript() // 0x47EC10: CWorkspace->ExecUrlScript()
@ -66,5 +63,4 @@ struct CCommandLineInfo
class CRobloxCommandLineInfo : public CCommandLineInfo {}; class CRobloxCommandLineInfo : public CCommandLineInfo {};
const auto CCommandLineInfo__ParseLast = (void(__thiscall*)(CCommandLineInfo * _this, BOOL bLast))ADDRESS_CCOMMANDLINEINFO__PARSELAST; const auto CCommandLineInfo__ParseLast = (void(__thiscall*)(CCommandLineInfo * _this, BOOL bLast))ADDRESS_CCOMMANDLINEINFO__PARSELAST;
#endif

View File

@ -1,8 +1,8 @@
#pragma once #pragma once
#define MFC2010 #define PLAYER2012
#define PLAYERBUILD #define PLAYERBUILD
#define ARBITERBUILD // #define ARBITERBUILD
// #define DEBUG_SERVERREPLICATOR__PROCESSPACKET // #define DEBUG_SERVERREPLICATOR__PROCESSPACKET
@ -82,6 +82,9 @@
#define ADDRESS_CROBLOXCOMMANDLINEINFO__PARSEPARAM 0x0045EE50 #define ADDRESS_CROBLOXCOMMANDLINEINFO__PARSEPARAM 0x0045EE50
#define ADDRESS_CCOMMANDLINEINFO__PARSELAST 0x0081354A #define ADDRESS_CCOMMANDLINEINFO__PARSELAST 0x0081354A
// Player specific definitions
#define ADDRESS_APPLICATION__PARSEARGUMENTS 0x0
// RakNet definitions // RakNet definitions
#define ID_SET_GLOBALS 127 #define ID_SET_GLOBALS 127
#define ID_DATA 129 #define ID_DATA 129
@ -115,6 +118,20 @@
// with that offset, the address you'd have to put for your trust check hook will be 0x00DF20A0 - 0x00BF0000 = 0x002020A0 // with that offset, the address you'd have to put for your trust check hook will be 0x00DF20A0 - 0x00BF0000 = 0x002020A0
// and you just put that address into the function // and you just put that address into the function
// MFC specific definitions
#define CLASSLOCATION_CROBLOXAPP 0x0
#define CLASSLOCATION_CAPP 0x0
#define CLASSPADDING_CROBLOXDOC__WORKSPACE 40
#define ADDRESS_CAPP__CREATEGAME 0x0
#define ADDRESS_CAPP__ROBLOXAUTHENTICATE 0x0
#define ADDRESS_CROBLOXAPP__INITINSTANCE 0x0
#define ADDRESS_CROBLOXAPP__CREATEDOCUMENT 0x0
#define ADDRESS_CWORKSPACE__EXECURLSCRIPT 0x0
#define ADDRESS_CROBLOXCOMMANDLINEINFO__PARSEPARAM 0x0
#define ADDRESS_CCOMMANDLINEINFO__PARSELAST 0x0
#define CLASSPADDING_DATAMODEL__JOBID 763 // when compiled as debug, this must be 762 #define CLASSPADDING_DATAMODEL__JOBID 763 // when compiled as debug, this must be 762
#define ADDRESS_DATAMODEL__GETJOBID Patches::GetAddressByOffset(0x002079A0) #define ADDRESS_DATAMODEL__GETJOBID Patches::GetAddressByOffset(0x002079A0)
@ -122,6 +139,8 @@
#define ADDRESS_NETWORK__RAKNETADDRESSTOSTRING 0x0 #define ADDRESS_NETWORK__RAKNETADDRESSTOSTRING 0x0
#define ADDRESS_HTTP__TRUSTCHECK Patches::GetAddressByOffset(0x002020A0) #define ADDRESS_HTTP__TRUSTCHECK Patches::GetAddressByOffset(0x002020A0)
#define ADDRESS_CRYPT__VERIFYSIGNATUREBASE64 Patches::GetAddressByOffset(0x00526330) #define ADDRESS_CRYPT__VERIFYSIGNATUREBASE64 Patches::GetAddressByOffset(0x00526330)
#define ADDRESS_SERVERREPLICATOR__SENDTOP 0x0
#define ADDRESS_SERVERREPLICATOR__PROCESSTICKET 0x0
// Player specific definitions // Player specific definitions
#define ADDRESS_APPLICATION__PARSEARGUMENTS Patches::GetAddressByOffset(0x00004E60) #define ADDRESS_APPLICATION__PARSEARGUMENTS Patches::GetAddressByOffset(0x00004E60)

View File

@ -1,5 +1,6 @@
#include "pch.h" #include "pch.h"
#include "PlayerCommandLine.h" #include "PlayerCommandLine.h"
#include "Patches.h"
#include "Util.h" #include "Util.h"
Application__ParseArguments_t Application__ParseArguments = (Application__ParseArguments_t)ADDRESS_APPLICATION__PARSEARGUMENTS; Application__ParseArguments_t Application__ParseArguments = (Application__ParseArguments_t)ADDRESS_APPLICATION__PARSEARGUMENTS;

View File

@ -1,5 +1,6 @@
#include "pch.h" #include "pch.h"
#include "RCCOutput.h" #include "RCCOutput.h"
#include "Patches.h"
HANDLE outputHandle; HANDLE outputHandle;

View File

@ -1,5 +1,6 @@
#include "pch.h" #include "pch.h"
#include "TrustCheck.h" #include "TrustCheck.h"
#include "Patches.h"
#include "Util.h" #include "Util.h"
#include "LUrlParser.h" #include "LUrlParser.h"

View File

@ -1,5 +1,6 @@
#include "pch.h" #include "pch.h"
#include "VerifySignatureBase64.h" #include "VerifySignatureBase64.h"
#include "Patches.h"
Crypt__verifySignatureBase64_t Crypt__verifySignatureBase64 = (Crypt__verifySignatureBase64_t)ADDRESS_CRYPT__VERIFYSIGNATUREBASE64; Crypt__verifySignatureBase64_t Crypt__verifySignatureBase64 = (Crypt__verifySignatureBase64_t)ADDRESS_CRYPT__VERIFYSIGNATUREBASE64;