235 lines
10 KiB
C#
235 lines
10 KiB
C#
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 <Progress>k__BackingField = JCBEOPOJKBD.<Progress>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.<Status>k__BackingField <= LoadResult.InitCancelRequested)
|
|
{
|
|
object[] array = new object[1];
|
|
string <Message>k__BackingField = JCBEOPOJKBD.<Message>k__BackingField;
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
object[] array2 = new object[1];
|
|
string <Message>k__BackingField2 = JCBEOPOJKBD.<Message>k__BackingField;
|
|
if (<Message>k__BackingField2 != 0)
|
|
{
|
|
}
|
|
array2[0] = <Message>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.<Type>k__BackingField != StateChangeType.Integrity)
|
|
{
|
|
object[] array = new object[2];
|
|
StateChangeType <Type>k__BackingField = JCBEOPOJKBD.<Type>k__BackingField;
|
|
if (array != 0)
|
|
{
|
|
}
|
|
array[0] = array;
|
|
string <Message>k__BackingField = JCBEOPOJKBD.<Message>k__BackingField;
|
|
if (<Message>k__BackingField != 0)
|
|
{
|
|
}
|
|
array[1] = <Message>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;
|
|
}
|
|
}
|