232 lines
10 KiB
C#
232 lines
10 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using EasyAntiCheat.Client;
|
|
using EasyAntiCheat.Client.ClientAuth;
|
|
using EasyAntiCheat.Client.Hydra;
|
|
using Photon.Pun;
|
|
using Photon.Pun.RecRoomCustom;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.AntiCheat
|
|
{
|
|
// Token: 0x02001FE9 RID: 8169
|
|
[Token(Token = "0x2001FE9")]
|
|
[StructLayout(3)]
|
|
public class EACManager : MonoBehaviour, IEACHandler
|
|
{
|
|
// Token: 0x0600E261 RID: 57953 RVA: 0x0035DAE4 File Offset: 0x0035BCE4
|
|
[Token(Token = "0x600E261")]
|
|
[Address(RVA = "0x12A1CF0", Offset = "0x12A06F0", VA = "0x1812A1CF0")]
|
|
public static string GenerateChallengeResponse(string DHBEAPFFAMK)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600E261)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String RecRoom.AntiCheat.EACManager::GenerateChallengeResponse(System.String)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_21:
|
|
call:void(Debug::LogError, ldstr:string[exp:object]("Client auth is not ready to generate a challenge response"))
|
|
}
|
|
|
|
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: 0x0600E262 RID: 57954 RVA: 0x0035DB20 File Offset: 0x0035BD20
|
|
[Token(Token = "0x600E262")]
|
|
[Address(RVA = "0x12A1DF0", Offset = "0x12A07F0", VA = "0x1812A1DF0")]
|
|
private static void MANCCEICLJE(RecRoomPluginCustomTypes.EACMessage AJNGCKJHBMO)
|
|
{
|
|
if (Runtime.IsActive())
|
|
{
|
|
byte[] message = AJNGCKJHBMO.message;
|
|
int length = message.Length;
|
|
Runtime.PushNetworkMessage(message, length);
|
|
return;
|
|
}
|
|
global::UnityEngine.Debug.LogError("EAC runtime inactive");
|
|
}
|
|
|
|
// Token: 0x0600E263 RID: 57955 RVA: 0x0035DB60 File Offset: 0x0035BD60
|
|
[Token(Token = "0x600E263")]
|
|
[Address(RVA = "0x12A1AA0", Offset = "0x12A04A0", VA = "0x1812A1AA0")]
|
|
private static void GKFGPKDENIF()
|
|
{
|
|
if (Runtime.IsActive())
|
|
{
|
|
global::UnityEngine.Debug.Log("[EAC] Initializing EAC, runtime is active");
|
|
int num;
|
|
EventHandler<StateChangedEventArgs> eventHandler = new EventHandler(num.MPNJCGHLGKD);
|
|
num = 0;
|
|
int num2;
|
|
EventHandler<LoadCompletedEventArgs> eventHandler2 = new EventHandler(num2.NKGFIJFCCEP);
|
|
num2 = 0;
|
|
int num3;
|
|
EventHandler<LoadProgressEventArgs> eventHandler3 = new EventHandler(num3.OBCKDFPPIFL);
|
|
num3 = 0;
|
|
Runtime.Initialize(eventHandler, eventHandler2, eventHandler3);
|
|
Runtime.ConnectionReset();
|
|
ClientAuth clientAuth = new ClientAuth();
|
|
return;
|
|
}
|
|
global::UnityEngine.Debug.Log("EAC runtime inactive");
|
|
}
|
|
|
|
// Token: 0x0600E264 RID: 57956 RVA: 0x0035DBE4 File Offset: 0x0035BDE4
|
|
[Token(Token = "0x600E264")]
|
|
[Address(RVA = "0x12A2410", Offset = "0x12A0E10", VA = "0x1812A2410")]
|
|
private static void PBIJEPGHKIB()
|
|
{
|
|
global::UnityEngine.Debug.Log("[EAC] Tearing down and releasing runtime");
|
|
Runtime.Release();
|
|
}
|
|
|
|
// Token: 0x0600E265 RID: 57957 RVA: 0x0035DC04 File Offset: 0x0035BE04
|
|
[Token(Token = "0x600E265")]
|
|
[Address(RVA = "0x12A21E0", Offset = "0x12A0BE0", VA = "0x1812A21E0")]
|
|
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: 0x0600E266 RID: 57958 RVA: 0x0035DC3C File Offset: 0x0035BE3C
|
|
[Token(Token = "0x600E266")]
|
|
[Address(RVA = "0x12A2040", Offset = "0x12A0A40", VA = "0x1812A2040")]
|
|
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: 0x0600E267 RID: 57959 RVA: 0x0035DCAC File Offset: 0x0035BEAC
|
|
[Token(Token = "0x600E267")]
|
|
[Address(RVA = "0x12A1EC0", Offset = "0x12A08C0", VA = "0x1812A1EC0")]
|
|
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: 0x0600E268 RID: 57960 RVA: 0x0035DD10 File Offset: 0x0035BF10
|
|
[Token(Token = "0x600E268")]
|
|
[Address(RVA = "0x12A2560", Offset = "0x12A0F60", VA = "0x1812A2560")]
|
|
protected void Start()
|
|
{
|
|
EACManager.GKFGPKDENIF();
|
|
ActionEvent onLeftRoom = PhotonNetwork.OnLeftRoom;
|
|
Action action = new Action(this.GCAIMGAHPFD);
|
|
PhotonNetwork.OnLeftRoom = onLeftRoom + action;
|
|
PhotonNetwork.ExternalEACHandler = this;
|
|
}
|
|
|
|
// Token: 0x0600E269 RID: 57961 RVA: 0x0035DD4C File Offset: 0x0035BF4C
|
|
[Token(Token = "0x600E269")]
|
|
[Address(RVA = "0x12A2640", Offset = "0x12A1040", VA = "0x1812A2640")]
|
|
protected void Update()
|
|
{
|
|
int num = 0;
|
|
if (Runtime.IsActive())
|
|
{
|
|
if (Runtime.PopNetworkMessage(num, num))
|
|
{
|
|
byte[] array = new byte[num];
|
|
Array.Copy(num, array, num);
|
|
PhotonNetwork.RespondToEACMessage(array);
|
|
}
|
|
Runtime.PollStatus();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600E26A RID: 57962 RVA: 0x0035DD8C File Offset: 0x0035BF8C
|
|
[Token(Token = "0x600E26A")]
|
|
[Address(RVA = "0x12A22D0", Offset = "0x12A0CD0", VA = "0x1812A22D0")]
|
|
protected void OnApplicationQuit()
|
|
{
|
|
ActionEvent onLeftRoom = PhotonNetwork.OnLeftRoom;
|
|
Action action = new Action(this.GCAIMGAHPFD);
|
|
PhotonNetwork.OnLeftRoom = onLeftRoom - action;
|
|
global::UnityEngine.Debug.Log("[EAC] Tearing down and releasing runtime");
|
|
Runtime.Release();
|
|
}
|
|
|
|
// Token: 0x0600E26B RID: 57963 RVA: 0x0035DDCC File Offset: 0x0035BFCC
|
|
[Token(Token = "0x600E26B")]
|
|
[Address(RVA = "0x12A1A50", Offset = "0x12A0450", VA = "0x1812A1A50")]
|
|
private void GCAIMGAHPFD()
|
|
{
|
|
Runtime.ConnectionReset();
|
|
}
|
|
|
|
// Token: 0x0600E26C RID: 57964 RVA: 0x0035DDE0 File Offset: 0x0035BFE0
|
|
[Token(Token = "0x600E26C")]
|
|
[Address(RVA = "0x12A2490", Offset = "0x12A0E90", VA = "0x1812A2490", Slot = "4")]
|
|
public void PushNetworkMessage(RecRoomPluginCustomTypes.EACMessage AJNGCKJHBMO)
|
|
{
|
|
if (Runtime.IsActive())
|
|
{
|
|
byte[] message = AJNGCKJHBMO.message;
|
|
int length = message.Length;
|
|
Runtime.PushNetworkMessage(message, length);
|
|
return;
|
|
}
|
|
global::UnityEngine.Debug.LogError("EAC runtime inactive");
|
|
}
|
|
|
|
// Token: 0x0600E26D RID: 57965 RVA: 0x0035DE20 File Offset: 0x0035C020
|
|
[Token(Token = "0x600E26D")]
|
|
[Address(RVA = "0x3C1210", Offset = "0x3BFC10", VA = "0x1803C1210")]
|
|
public EACManager()
|
|
{
|
|
}
|
|
|
|
// Token: 0x04009467 RID: 37991
|
|
[Token(Token = "0x4009467")]
|
|
private static ClientAuth PALLBAHEKAP;
|
|
}
|
|
}
|