using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using CodeStage.AntiCheat.Detectors; using CodeStage.AntiCheat.ObscuredTypes; using Cpp2IlInjected; using RecNet; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; // Token: 0x020003B7 RID: 951 [Token(Token = "0x20003B7")] public class CheatManager : SingletonMonoBehaviour { // Token: 0x06001EAE RID: 7854 RVA: 0x0007D40C File Offset: 0x0007B60C [Token(Token = "0x6001EAE")] [Address(RVA = "0x166BF70", Offset = "0x166AF70", VA = "0x18166BF70", Slot = "4")] protected override void Awake() { base.Awake(); EKGHIAKLJCM.OFFLOPLJBBG(); DateTime utcNow = DateTime.UtcNow; float realtimeSinceStartup = Time.realtimeSinceStartup; int num = 0; this.FBNLCHCPPEG = num; SceneManager.sceneLoaded += new UnityAction(this.LLHCFHDMFMN); } // Token: 0x06001EAF RID: 7855 RVA: 0x0007D458 File Offset: 0x0007B658 [Token(Token = "0x6001EAF")] [Address(RVA = "0x166DA00", Offset = "0x166CA00", VA = "0x18166DA00")] private void Start() { if (SingletonMonoBehaviour.ONCPNMDGGKG.PBOKKIBGLCK) { } PlatformManager instance = SingletonMonoBehaviour.ONCPNMDGGKG; PMGCJEPKFOF pmgcjepkfof; bool flag = pmgcjepkfof == 0; this.MLADBNHDDJM = flag; } // Token: 0x06001EB0 RID: 7856 RVA: 0x0007D48C File Offset: 0x0007B68C [Token(Token = "0x6001EB0")] [Address(RVA = "0x166D6D0", Offset = "0x166C6D0", VA = "0x18166D6D0", Slot = "5")] protected override void OnDestroy() { base.OnDestroy(); SceneManager.sceneLoaded -= new UnityAction(this.LLHCFHDMFMN); } // Token: 0x06001EB1 RID: 7857 RVA: 0x0007D4B0 File Offset: 0x0007B6B0 [Token(Token = "0x6001EB1")] [Address(RVA = "0x166D540", Offset = "0x166C540", VA = "0x18166D540")] private void OnApplicationFocus(bool IEGCNLHPKFH) { if (IEGCNLHPKFH) { DateTime utcNow = DateTime.UtcNow; float realtimeSinceStartup = Time.realtimeSinceStartup; DateTime dateTime; DateTime dateTime2; TimeSpan timeSpan = dateTime - dateTime2; string text = string.Format("System datetime difference {0} hours.", timeSpan); int num = 0; DABKFAIHBBP dabkfaihbbp = LCCEEFHOBEN.FCPPPBKJFGK(LCCEEFHOBEN.OAODPJFGPAF.Time, text, num); } } // Token: 0x06001EB2 RID: 7858 RVA: 0x0007D500 File Offset: 0x0007B700 [Token(Token = "0x6001EB2")] [Address(RVA = "0x166D290", Offset = "0x166C290", VA = "0x18166D290")] private void LLHCFHDMFMN(Scene LHECBPFGEMH, LoadSceneMode OJJLDEPGAEJ) { if (RecRoomSceneManager.DJGNMLFCODD) { SpeedHackDetector k__BackingField = SpeedHackDetector.k__BackingField; SpeedHackDetector.StartDetection(); ObscuredCheatingDetector k__BackingField2 = ObscuredCheatingDetector.k__BackingField; ObscuredCheatingDetector.StartDetection(); if (this.MLADBNHDDJM) { RRCheatDetector k__BackingField3 = RRCheatDetector.k__BackingField; if (Matchmaking.BBJAEJHMAPB.k__BackingField != COBKKLOJNNE.DORM_ROOM) { RRCheatDetector.StartDetection(); } } } if (RecRoomSceneManager.DJGNMLFCODD) { this.IDGHGCLOKIB(); } string text; if (text != 0) { EKGHIAKLJCM.MLDBFIPABMP(); } } // Token: 0x06001EB3 RID: 7859 RVA: 0x0007D580 File Offset: 0x0007B780 [Token(Token = "0x6001EB3")] [Address(RVA = "0x166D810", Offset = "0x166C810", VA = "0x18166D810")] public void OnTimeCheatDetected() { CFLMJLFBOKH.POMHHJNDCON(); this.EEFCLAEMFIJ("Dropping to dormroom due to error [385120]"); } // Token: 0x06001EB4 RID: 7860 RVA: 0x0007D5A0 File Offset: 0x0007B7A0 [Token(Token = "0x6001EB4")] [Address(RVA = "0x166D770", Offset = "0x166C770", VA = "0x18166D770")] public void OnObscuredTypeCheatDetected() { CFLMJLFBOKH.CJGBNACKGHI(); int num = 0; DABKFAIHBBP dabkfaihbbp = LCCEEFHOBEN.FCPPPBKJFGK(LCCEEFHOBEN.OAODPJFGPAF.Obscured, "", num); this.EEFCLAEMFIJ("Dropping to dormroom due to error [385120]"); } // Token: 0x06001EB5 RID: 7861 RVA: 0x0007D5D0 File Offset: 0x0007B7D0 [Token(Token = "0x6001EB5")] [Address(RVA = "0x166D4E0", Offset = "0x166C4E0", VA = "0x18166D4E0")] public void OnAdvancedMovementCheatDetected() { CFLMJLFBOKH.ANKCHPMGKOK(); this.EEFCLAEMFIJ("You were too far outside of your play area."); } // Token: 0x06001EB6 RID: 7862 RVA: 0x0007D5F0 File Offset: 0x0007B7F0 [Token(Token = "0x6001EB6")] [Address(RVA = "0x166C700", Offset = "0x166B700", VA = "0x18166C700")] private void EEFCLAEMFIJ(string CILGKLENBGO = "Dropping to dormroom due to error [385120]") { Debug.LogWarning(CILGKLENBGO); if (Matchmaking.BBJAEJHMAPB.k__BackingField != COBKKLOJNNE.DORM_ROOM) { SingletonMonoBehaviour.ONCPNMDGGKG.BootLocalPlayerToDormRoom(CILGKLENBGO, (SessionManager.BDPNOBGNGNI)((uint)6), true); } } // Token: 0x06001EB7 RID: 7863 RVA: 0x0007D628 File Offset: 0x0007B828 [Token(Token = "0x6001EB7")] [Address(RVA = "0x166C0B0", Offset = "0x166B0B0", VA = "0x18166C0B0")] public static bool CheckForMismatch(out string EABDHBEPPKE) { int num = 0; EFEFMHJPJIJ efefmhjpjij; if (efefmhjpjij != 0) { if (num < efefmhjpjij) { num += num; num++; } string text; if (text != text) { text += text; } } ObscuredInt oagpffkfblp = CheatManager.OAGPFFKFBLP; int num2; string[] array = CheatManager.ECEKIIGDBFO(num2, 3); int length = array.Length; if (num < length) { string text2 = CheatManager.EPAIHOMACJG(array[num]); if (text2 == 0 || !(text2 != text2)) { num++; } } throw new NullReferenceException(); } // Token: 0x06001EB8 RID: 7864 RVA: 0x0007D6AC File Offset: 0x0007B8AC [Token(Token = "0x6001EB8")] [Address(RVA = "0x166DAD0", Offset = "0x166CAD0", VA = "0x18166DAD0")] public static void WriteDUIDs() { int num = 0; int num2 = 0; if (num2 < num) { num2 += num2; num2++; } ObscuredInt oagpffkfblp = CheatManager.OAGPFFKFBLP; int num3; string[] array = CheatManager.ECEKIIGDBFO(num3, 3); int length = array.Length; if (num2 < length) { bool flag = CheatManager.HJEJDCHLAOA(array[num2]); num2++; num2 += num2; } } // Token: 0x06001EB9 RID: 7865 RVA: 0x0007D71C File Offset: 0x0007B91C [Token(Token = "0x6001EB9")] [Address(RVA = "0x166C3F0", Offset = "0x166B3F0", VA = "0x18166C3F0")] public static void ClearDUIDs() { CheatManager.IDANDBKBOJD(); } // Token: 0x06001EBA RID: 7866 RVA: 0x0007D738 File Offset: 0x0007B938 [Token(Token = "0x6001EBA")] [Address(RVA = "0x166C510", Offset = "0x166B510", VA = "0x18166C510")] private static string[] ECEKIIGDBFO(int KIJHGBLLCPL, int BMONAPMFJED) { string[] array = new string[BMONAPMFJED]; global::System.Random random = new global::System.Random(BMONAPMFJED); int num = 0; if (num < array.Length) { int num2; StringBuilder stringBuilder = new StringBuilder(num2); int num3 = 0; if (num2 > 0) { char c; StringBuilder stringBuilder2 = stringBuilder.Append(c); num3++; } StringBuilder stringBuilder3 = stringBuilder.Append(".tmp"); string tempPath = Path.GetTempPath(); int hashCode = stringBuilder.GetHashCode(); throw new ArrayTypeMismatchException(); } return array; } // Token: 0x06001EBB RID: 7867 RVA: 0x0007D7D0 File Offset: 0x0007B9D0 [Token(Token = "0x6001EBB")] [Address(RVA = "0x166D180", Offset = "0x166C180", VA = "0x18166D180")] private static void KPGCLFIOJBO() { ObscuredInt oagpffkfblp = CheatManager.OAGPFFKFBLP; int num; string[] array = CheatManager.ECEKIIGDBFO(num, 3); int num2 = 0; int length = array.Length; if (num2 < length) { bool flag = CheatManager.HJEJDCHLAOA(array[num2]); num2++; } } // Token: 0x06001EBC RID: 7868 RVA: 0x0007D81C File Offset: 0x0007BA1C [Token(Token = "0x6001EBC")] [Address(RVA = "0x166CC80", Offset = "0x166BC80", VA = "0x18166CC80")] private static void IDANDBKBOJD() { int num; string[] array = CheatManager.ECEKIIGDBFO(num, 3); int num2 = 0; if (num2 < array.Length) { File.Delete(array[num2]); num2++; } } // Token: 0x06001EBD RID: 7869 RVA: 0x0007D854 File Offset: 0x0007BA54 [Token(Token = "0x6001EBD")] [Address(RVA = "0x166C960", Offset = "0x166B960", VA = "0x18166C960")] private static bool HJEJDCHLAOA(string CBCDLMLKBJE) { Encoding utf = Encoding.UTF8; int num; byte[] array = new byte[num]; byte[] array2 = new byte[64]; int num2 = 0; if (num2 < array.Length) { num2++; } if (num2 < array2.Length) { num2++; } byte[] array3 = new byte[2]; array3[0] = (byte)num; array3[0] = typeof(byte[]).TypeHandle; IEnumerable enumerable = Enumerable.Concat(array3, array); IEnumerable enumerable2; byte[] array4 = Enumerable.ToArray(Enumerable.Concat(enumerable2, array2)); File.WriteAllBytes(CBCDLMLKBJE, array4); TimeSpan timeSpan; DateTime dateTime = DateTime.Now - timeSpan; File.SetLastWriteTime(CBCDLMLKBJE, dateTime); File.SetLastAccessTime(CBCDLMLKBJE, dateTime); File.SetCreationTime(CBCDLMLKBJE, dateTime); throw new IndexOutOfRangeException(); } // Token: 0x06001EBE RID: 7870 RVA: 0x0007D94C File Offset: 0x0007BB4C [Token(Token = "0x6001EBE")] [Address(RVA = "0x166C7E0", Offset = "0x166B7E0", VA = "0x18166C7E0")] private static string EPAIHOMACJG(string CBCDLMLKBJE) { byte[] array = File.ReadAllBytes(CBCDLMLKBJE); int length = array.Length; byte b = array[0]; byte[] array2 = Enumerable.ToArray(Enumerable.Take(Enumerable.Skip(Enumerable.Skip(array, 2), (int)b), (int)b)); Encoding utf = Encoding.UTF8; return string.Empty; } // Token: 0x06001EBF RID: 7871 RVA: 0x0007D9B4 File Offset: 0x0007BBB4 [Token(Token = "0x6001EBF")] [Address(RVA = "0x166CD80", Offset = "0x166BD80", VA = "0x18166CD80")] private void IDGHGCLOKIB() { string text = Path.Combine(Application.dataPath, "..\\"); string appPath = text; IEnumerable enumerable = Directory.EnumerateFiles(text, "*.dll"); Func func = delegate(string s) { string appPath2 = appPath; return s.Replace(appPath2, ""); }; IEnumerable enumerable2 = Enumerable.Select(enumerable, func); string[] cjpefnajici = CheatManager.CJPEFNAJICI; StringComparer invariantCultureIgnoreCase = StringComparer._invariantCultureIgnoreCase; List list = Enumerable.ToList(Enumerable.Except(enumerable2, cjpefnajici, invariantCultureIgnoreCase)); if (list != 0) { int num = 0; string text2 = BCKPFAJAPEO.JIIMHOLCECD(list, num, ", "); int num2 = 0; DABKFAIHBBP dabkfaihbbp = LCCEEFHOBEN.FCPPPBKJFGK(LCCEEFHOBEN.OAODPJFGPAF.UnknownDll, text2, num2); CFLMJLFBOKH.GEHHCFFBOPJ(); float num3 = global::UnityEngine.Random.Range(10f, 60f); KFBABPAPIMB kfbabpapimb = this.ENFHDIBGOEO(num3); int num4; Action action = new Action(num4.TryApplicationQuit); num4 = 0; } } // Token: 0x06001EC0 RID: 7872 RVA: 0x0007DA8C File Offset: 0x0007BC8C [Token(Token = "0x6001EC0")] [Address(RVA = "0x166D080", Offset = "0x166C080", VA = "0x18166D080")] private void JKKNJLHBBPM(string PEKNJPKPAOE) { int num = 0; DABKFAIHBBP dabkfaihbbp = LCCEEFHOBEN.FCPPPBKJFGK(LCCEEFHOBEN.OAODPJFGPAF.UnknownDll, PEKNJPKPAOE, num); CFLMJLFBOKH.GEHHCFFBOPJ(); float num2 = global::UnityEngine.Random.Range(10f, 60f); KFBABPAPIMB kfbabpapimb = this.ENFHDIBGOEO(num2); int num3; Action action = new Action(num3.TryApplicationQuit); num3 = 0; throw new NullReferenceException(); } // Token: 0x06001EC1 RID: 7873 RVA: 0x0007DADC File Offset: 0x0007BCDC [Token(Token = "0x6001EC1")] [Address(RVA = "0x166D870", Offset = "0x166C870", VA = "0x18166D870")] private void PCOEGAGDIAP() { DateTime utcNow = DateTime.UtcNow; float realtimeSinceStartup = Time.realtimeSinceStartup; DateTime dateTime; DateTime dateTime2; TimeSpan timeSpan = dateTime - dateTime2; string text = string.Format("System datetime difference {0} hours.", timeSpan); int num = 0; DABKFAIHBBP dabkfaihbbp = LCCEEFHOBEN.FCPPPBKJFGK(LCCEEFHOBEN.OAODPJFGPAF.Time, text, num); } // Token: 0x06001EC2 RID: 7874 RVA: 0x0007DB28 File Offset: 0x0007BD28 [Token(Token = "0x6001EC2")] [Address(RVA = "0x166E240", Offset = "0x166D240", VA = "0x18166E240")] public CheatManager() { } // Token: 0x06001EC3 RID: 7875 RVA: 0x0007DB44 File Offset: 0x0007BD44 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x6001EC3")] [Address(RVA = "0x166DDA0", Offset = "0x166CDA0", VA = "0x18166DDA0")] static CheatManager() { ObscuredInt obscuredInt; bool fakeValueActive = obscuredInt.fakeValueActive; string[] array = new string[11]; if ("GameAssembly.dll" != 0) { } array[0] = "GameAssembly.dll"; if ("UnityPlayer.dll" != 0) { } array[1] = "UnityPlayer.dll"; if ("WinPixEventRuntime.dll" != 0) { } array[2] = "WinPixEventRuntime.dll"; if ("steam_api64.dll" != 0) { } array[3] = "steam_api64.dll"; if ("steam_api.dll" != 0) { } array[4] = "steam_api.dll"; if ("d3d11.dll" != 0) { } array[5] = "d3d11.dll"; if ("d3d9.dll" != 0) { } array[6] = "d3d9.dll"; if ("d3d8.dll" != 0) { } array[7] = "d3d8.dll"; if ("ddraw.dll" != 0) { } array[8] = "ddraw.dll"; if ("dxgi.dll" != 0) { } array[9] = "dxgi.dll"; if ("opengl32.dll" != 0) { } array[10] = "opengl32.dll"; CheatManager.CJPEFNAJICI = array; } // Token: 0x0400173F RID: 5951 [Token(Token = "0x400173F")] private const string LMGPBPKGOJC = "abcdefghijklmnopqrstuvwxyz1234567890"; // Token: 0x04001740 RID: 5952 [Token(Token = "0x4001740")] private const string FFKOEPBAENB = "02B3A4E5-33BF-4ED1-A06B-4D2FF43F6E1E"; // Token: 0x04001741 RID: 5953 [Token(Token = "0x4001741")] private const int OICCECLCDIE = 1; // Token: 0x04001742 RID: 5954 [Token(Token = "0x4001742")] private static readonly string DBAIOPIEJNC = "cm_did_ppk"; // Token: 0x04001743 RID: 5955 [Token(Token = "0x4001743")] private static readonly ObscuredInt OAGPFFKFBLP; // Token: 0x04001744 RID: 5956 [Token(Token = "0x4001744")] private static readonly string[] CJPEFNAJICI; // Token: 0x04001745 RID: 5957 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4001745")] private bool MLADBNHDDJM = true; // Token: 0x04001746 RID: 5958 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4001746")] private DateTime? FBNLCHCPPEG; // Token: 0x020003B8 RID: 952 [Token(Token = "0x20003B8")] [CompilerGenerated] private sealed class KMCDENPGGAG { // Token: 0x06001EC4 RID: 7876 RVA: 0x0007DC54 File Offset: 0x0007BE54 [Token(Token = "0x6001EC4")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] public KMCDENPGGAG() { } // Token: 0x06001EC5 RID: 7877 RVA: 0x0007DC68 File Offset: 0x0007BE68 [Token(Token = "0x6001EC5")] [Address(RVA = "0x1F48D20", Offset = "0x1F47D20", VA = "0x181F48D20")] internal string b__0(string s) { string text = this.appPath; return s.Replace(text, ""); } // Token: 0x04001747 RID: 5959 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4001747")] public string appPath; } }