Files
sheet-rat/Server/MindLated/Protection/Proxy/ProxyString.cs
T

50 lines
1.9 KiB
C#
Raw Normal View History

2026-08-27 11:23:25 -06:00
// Decompiled with JetBrains decompiler
// Type: MindLated.Protection.Proxy.ProxyString
// 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 dnlib.DotNet.Emit;
using MindLated.Protection.Renamer;
using System.Collections.Generic;
//#nullable disable
namespace MindLated.Protection.Proxy {
internal class ProxyString
{
public static void Execute(ModuleDef module)
{
foreach (TypeDef type in module.GetTypes())
{
if (!type.IsGlobalModuleType)
{
foreach (MethodDef method in (IEnumerable<MethodDef>) type.Methods)
{
if (method.HasBody)
{
foreach (Instruction instruction in (IEnumerable<Instruction>) method.Body.Instructions)
{
if (instruction.OpCode == OpCodes.Ldstr)
{
MethodImplAttributes implFlags = MethodImplAttributes.IL;
MethodAttributes flags = MethodAttributes.Public | MethodAttributes.Static | MethodAttributes.HideBySig;
MethodDefUser methodDefUser = new MethodDefUser((UTF8String) RenamerPhase.GenerateString(RenamerPhase.RenameMode.Key), MethodSig.CreateStatic((TypeSig) module.CorLibTypes.String), implFlags, flags);
module.GlobalType.Methods.Add((MethodDef) methodDefUser);
methodDefUser.Body = new CilBody();
methodDefUser.Body.Variables.Add(new Local((TypeSig) module.CorLibTypes.String));
methodDefUser.Body.Instructions.Add(Instruction.Create(OpCodes.Ldstr, instruction.Operand.ToString()));
methodDefUser.Body.Instructions.Add(Instruction.Create(OpCodes.Ret));
instruction.OpCode = OpCodes.Call;
instruction.Operand = (object) methodDefUser;
}
}
}
}
}
}
}
}
}