Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of CrashSeer v3.0.0
WesleyDebug.dll
Decompiled 4 months agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using HarmonyLib; using Steamworks; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("WesleyDebug")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("KG")] [assembly: AssemblyProduct("WesleyDebug")] [assembly: AssemblyCopyright("Copyright © KG 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("2F8C87A8-BA02-40F6-B236-E17789732893")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace WesleyDebug; [BepInPlugin("kg.wesleydebug", "WesleyDebug", "1.2.0")] public class WesleyDebug : BaseUnityPlugin { [HarmonyPatch(typeof(ZSteamSocket), "SendQueuedPackages")] private static class ZSteamSocket_SendQueuedPackages_Patch { private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> code) { MethodInfo targetInstruction = AccessTools.Method(typeof(ZLog), "Log", (Type[])null, (Type[])null); foreach (CodeInstruction codeInstruction in code) { yield return codeInstruction; if (codeInstruction.opcode == OpCodes.Call && targetInstruction == codeInstruction.operand) { yield return new CodeInstruction(OpCodes.Ldloc_0, (object)null); yield return new CodeInstruction(OpCodes.Ldloc_3, (object)null); yield return new CodeInstruction(OpCodes.Call, (object)AccessTools.Method(typeof(WesleyDebug), "ProcessBrokenPacket", (Type[])null, (Type[])null)); } } } } [HarmonyPatch(/*Could not decode attribute arguments.*/)] private static class ZRpc_Awake_Patch { private static void Postfix() { ZRpc.m_DEBUG = true; } } private static readonly ManualLogSource Logger = Logger.CreateLogSource("WesleyDebug"); private void Awake() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) new Harmony("kg.wesleydebug").PatchAll(); } private static void ProcessBrokenPacket(byte[] array, EResult result) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Invalid comparison between Unknown and I4 //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Invalid comparison between Unknown and I4 if ((int)result == 25 || (int)result == 8) { ZPackage val = new ZPackage(array); if (val.ReadInt() != 0) { string arg = val.ReadString(); Logger.LogInfo((object)$"Broken Packet Detected! Method: {arg}, Size: {array.Length} bytes"); } } } }