Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

505 lines
15 KiB
C#

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<CheatManager>
{
// 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<PlatformManager.LKOLCLKDJKO> 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 <OCDLBPHJMOP>k__BackingField = SpeedHackDetector.<OCDLBPHJMOP>k__BackingField;
SpeedHackDetector.StartDetection();
ObscuredCheatingDetector <OCDLBPHJMOP>k__BackingField2 = ObscuredCheatingDetector.<OCDLBPHJMOP>k__BackingField;
ObscuredCheatingDetector.StartDetection();
if (this.MLADBNHDDJM)
{
RRCheatDetector <OCDLBPHJMOP>k__BackingField3 = RRCheatDetector.<OCDLBPHJMOP>k__BackingField;
if (Matchmaking.BBJAEJHMAPB.<PGOEAIDCELB>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.<PGOEAIDCELB>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<byte> enumerable = Enumerable.Concat<byte>(array3, array);
IEnumerable<byte> enumerable2;
byte[] array4 = Enumerable.ToArray<byte>(Enumerable.Concat<byte>(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<byte>(Enumerable.Take<byte>(Enumerable.Skip<byte>(Enumerable.Skip<byte>(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<string> enumerable = Directory.EnumerateFiles(text, "*.dll");
Func<string, string> func = delegate(string s)
{
string appPath2 = appPath;
return s.Replace(appPath2, "");
};
IEnumerable<string> enumerable2 = Enumerable.Select<string, string>(enumerable, func);
string[] cjpefnajici = CheatManager.CJPEFNAJICI;
StringComparer invariantCultureIgnoreCase = StringComparer._invariantCultureIgnoreCase;
List<string> list = Enumerable.ToList<string>(Enumerable.Except<string>(enumerable2, cjpefnajici, invariantCultureIgnoreCase));
if (list != 0)
{
int num = 0;
string text2 = BCKPFAJAPEO.JIIMHOLCECD<string>(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 <CheckforUnknownDLL>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;
}
}