using System; using System.Diagnostics; using Cpp2IlInjected; using EasyAntiCheat.Client; using EasyAntiCheat.Client.ClientAuth; using EasyAntiCheat.Client.Hydra; using UnityEngine; namespace RecRoom.AntiCheat { // Token: 0x02002291 RID: 8849 [Token(Token = "0x2002291")] public class EACManager : MonoBehaviour, MKBCBCGJHEK { // Token: 0x0600E123 RID: 57635 RVA: 0x0033DFF4 File Offset: 0x0033C1F4 [Token(Token = "0x600E123")] [Address(RVA = "0x14F1CC0", Offset = "0x14F0CC0", VA = "0x1814F1CC0")] public static string GenerateChallengeResponse(string DHBEAPFFAMK) { byte[] array = Convert.FromBase64String(DHBEAPFFAMK); byte[] array2 = new byte[128]; EACManager.PALLBAHEKAP.WriteChallengeResponse(array, array2); return Convert.ToBase64String(array2); } // Token: 0x0600E124 RID: 57636 RVA: 0x0033E038 File Offset: 0x0033C238 [Token(Token = "0x600E124")] [Address(RVA = "0x14F1E10", Offset = "0x14F0E10", VA = "0x1814F1E10")] private static void MANCCEICLJE(MIGIOPECPAG.FOPBFGONPKC AJNGCKJHBMO) { if (Runtime.IsActive()) { byte[] ngpmadfhhkp = AJNGCKJHBMO.NGPMADFHHKP; int length = ngpmadfhhkp.Length; Runtime.PushNetworkMessage(ngpmadfhhkp, length); return; } global::UnityEngine.Debug.LogError("EAC runtime inactive"); } // Token: 0x0600E125 RID: 57637 RVA: 0x0033E078 File Offset: 0x0033C278 [Token(Token = "0x600E125")] [Address(RVA = "0x14F1A00", Offset = "0x14F0A00", VA = "0x1814F1A00")] private static bool EHNLGOOHNFA() { /* An exception occurred when decompiling this method (0600E125) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean RecRoom.AntiCheat.EACManager::EHNLGOOHNFA() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_70: call:void(Debug::Log, ldstr:string[exp:object]("EAC runtime inactive")) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600E126 RID: 57638 RVA: 0x0033E104 File Offset: 0x0033C304 [Token(Token = "0x600E126")] [Address(RVA = "0x14F2480", Offset = "0x14F1480", VA = "0x1814F2480")] private static void PBIJEPGHKIB() { global::UnityEngine.Debug.Log("[EAC] Tearing down and releasing runtime"); Runtime.Release(); } // Token: 0x0600E127 RID: 57639 RVA: 0x0033E124 File Offset: 0x0033C324 [Token(Token = "0x600E127")] [Address(RVA = "0x14F2200", Offset = "0x14F1200", VA = "0x1814F2200")] private static void OBCKDFPPIFL(object KHLHONFFPMH, LoadProgressEventArgs JCBEOPOJKBD) { object[] array = new object[1]; int k__BackingField = JCBEOPOJKBD.k__BackingField; if (array != 0) { } array[0] = array; global::UnityEngine.Debug.LogFormat("[EAC] OnLoadProgress() :: {0}%", array); } // Token: 0x0600E128 RID: 57640 RVA: 0x0033E15C File Offset: 0x0033C35C [Token(Token = "0x600E128")] [Address(RVA = "0x14F2060", Offset = "0x14F1060", VA = "0x1814F2060")] private static void NKGFIJFCCEP(object KHLHONFFPMH, LoadCompletedEventArgs JCBEOPOJKBD) { if (JCBEOPOJKBD.k__BackingField <= LoadResult.InitCancelRequested) { object[] array = new object[1]; string k__BackingField = JCBEOPOJKBD.k__BackingField; throw new ArrayTypeMismatchException(); } object[] array2 = new object[1]; string k__BackingField2 = JCBEOPOJKBD.k__BackingField; if (k__BackingField2 != 0) { } array2[0] = k__BackingField2; global::UnityEngine.Debug.LogFormat("[EAC] OnLoadCompleted() :: ERROR: {0}", array2); } // Token: 0x0600E129 RID: 57641 RVA: 0x0033E1CC File Offset: 0x0033C3CC [Token(Token = "0x600E129")] [Address(RVA = "0x14F1EE0", Offset = "0x14F0EE0", VA = "0x1814F1EE0")] private static void MPNJCGHLGKD(object KHLHONFFPMH, StateChangedEventArgs JCBEOPOJKBD) { if (JCBEOPOJKBD.k__BackingField != StateChangeType.Integrity) { object[] array = new object[2]; StateChangeType k__BackingField = JCBEOPOJKBD.k__BackingField; if (array != 0) { } array[0] = array; string k__BackingField = JCBEOPOJKBD.k__BackingField; if (k__BackingField != 0) { } array[1] = k__BackingField; global::UnityEngine.Debug.LogFormat("[EAC] Unhandled game callback :: {0} {1}", array); return; } Process.GetCurrentProcess().Kill(); } // Token: 0x0600E12A RID: 57642 RVA: 0x0033E230 File Offset: 0x0033C430 [Token(Token = "0x600E12A")] [Address(RVA = "0x14F2600", Offset = "0x14F1600", VA = "0x1814F2600")] protected void Start() { Runtime.ConnectionReset(); EACManager.PONKLLODMEN = EACManager.EHNLGOOHNFA(); OKNNKFGFODL djbdakdckkh = KKPBCOOONNK.DJBDAKDCKKH; Action action = new Action(this.GCAIMGAHPFD); KKPBCOOONNK.DJBDAKDCKKH = OKNNKFGFODL.BPJDFPACLMK(djbdakdckkh, action); KKPBCOOONNK.DODOAGOFDGL = this; } // Token: 0x0600E12B RID: 57643 RVA: 0x0033E278 File Offset: 0x0033C478 [Token(Token = "0x600E12B")] [Address(RVA = "0x14F2760", Offset = "0x14F1760", VA = "0x1814F2760")] protected void Update() { int num = 0; if (Runtime.IsActive()) { if (Runtime.PopNetworkMessage(num, num)) { byte[] array = new byte[num]; Array.Copy(num, array, num); KKPBCOOONNK.BFECLLNJKAM(array); } Runtime.PollStatus(); } } // Token: 0x0600E12C RID: 57644 RVA: 0x0033E2B8 File Offset: 0x0033C4B8 [Token(Token = "0x600E12C")] [Address(RVA = "0x14F23A0", Offset = "0x14F13A0", VA = "0x1814F23A0")] protected void OnDestroy() { OKNNKFGFODL djbdakdckkh = KKPBCOOONNK.DJBDAKDCKKH; Action action = new Action(this.GCAIMGAHPFD); KKPBCOOONNK.DJBDAKDCKKH = OKNNKFGFODL.GMNMHGMFGOL(djbdakdckkh, action); } // Token: 0x0600E12D RID: 57645 RVA: 0x0033E2E4 File Offset: 0x0033C4E4 [Token(Token = "0x600E12D")] [Address(RVA = "0x14F22F0", Offset = "0x14F12F0", VA = "0x1814F22F0")] protected void OnApplicationQuit() { global::UnityEngine.Debug.Log("[EAC] Tearing down and releasing runtime"); Runtime.Release(); } // Token: 0x0600E12E RID: 57646 RVA: 0x0033E304 File Offset: 0x0033C504 [Token(Token = "0x600E12E")] [Address(RVA = "0x14F1C70", Offset = "0x14F0C70", VA = "0x1814F1C70")] private void GCAIMGAHPFD() { Runtime.ConnectionReset(); } // Token: 0x0600E12F RID: 57647 RVA: 0x0033E318 File Offset: 0x0033C518 [Token(Token = "0x600E12F")] [Address(RVA = "0x14F2500", Offset = "0x14F1500", VA = "0x1814F2500", Slot = "4")] public void PushNetworkMessage(MIGIOPECPAG.FOPBFGONPKC AJNGCKJHBMO) { if (Runtime.IsActive()) { byte[] ngpmadfhhkp = AJNGCKJHBMO.NGPMADFHHKP; int length = ngpmadfhhkp.Length; Runtime.PushNetworkMessage(ngpmadfhhkp, length); return; } global::UnityEngine.Debug.LogError("EAC runtime inactive"); } // Token: 0x0600E130 RID: 57648 RVA: 0x0033E358 File Offset: 0x0033C558 [Token(Token = "0x600E130")] [Address(RVA = "0x428AD0", Offset = "0x427AD0", VA = "0x180428AD0")] public EACManager() { } // Token: 0x0600E131 RID: 57649 RVA: 0x0000220F File Offset: 0x0000040F // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600E131")] [Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0")] static EACManager() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04009204 RID: 37380 [Token(Token = "0x4009204")] private static ClientAuth PALLBAHEKAP; // Token: 0x04009205 RID: 37381 [Token(Token = "0x4009205")] private static bool PONKLLODMEN; } }