initial commit

This commit is contained in:
i2p
2026-08-27 11:21:58 -06:00
commit c21fb61050
336 changed files with 74161 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
using dnlib.DotNet;
namespace Obfuscator.Obfuscator.Anti;
internal class AntiDe4dot
{
public static void Execute(AssemblyDef mod)
{
foreach (ModuleDef module in mod.Modules)
{
InterfaceImplUser item = new InterfaceImplUser(module.GlobalType);
for (int i = 0; i < 1; i++)
{
TypeDefUser typeDefUser = new TypeDefUser(string.Empty, $"Form{i}", module.CorLibTypes.GetTypeRef("System", "Attribute"));
InterfaceImplUser item2 = new InterfaceImplUser(typeDefUser);
module.Types.Add(typeDefUser);
typeDefUser.Interfaces.Add(item2);
typeDefUser.Interfaces.Add(item);
}
}
}
}
+26
View File
@@ -0,0 +1,26 @@
using System.Linq;
using dnlib.DotNet;
using dnlib.DotNet.Emit;
using Obfuscator.Helper;
using Obfuscator.Obfuscator.Anti.Runtime;
namespace Obfuscator.Obfuscator.Anti;
public static class AntiDebug
{
public static void Execute(ModuleDef module)
{
ModuleDefMD moduleDefMD = ModuleDefMD.Load(typeof(AntiDebugSafe).Module);
MethodDef methodDef = module.GlobalType.FindOrCreateStaticConstructor();
MethodDef method2 = (MethodDef)InjectHelper.Inject(moduleDefMD.ResolveTypeDef(MDToken.ToRID(typeof(AntiDebugSafe).MetadataToken)), module.GlobalType, module).Single((IDnlibDef method) => method.Name == "Initialize");
methodDef.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, method2));
foreach (MethodDef method3 in module.GlobalType.Methods)
{
if (!(method3.Name != ".ctor"))
{
module.GlobalType.Remove(method3);
break;
}
}
}
}
+26
View File
@@ -0,0 +1,26 @@
using System.Linq;
using dnlib.DotNet;
using dnlib.DotNet.Emit;
using Obfuscator.Helper;
using Obfuscator.Obfuscator.Anti.Runtime;
namespace Obfuscator.Obfuscator.Anti;
internal class AntiDump
{
public static void Execute(ModuleDef mod)
{
ModuleDefMD moduleDefMD = ModuleDefMD.Load(typeof(AntiDumpRun).Module);
MethodDef methodDef = mod.GlobalType.FindOrCreateStaticConstructor();
MethodDef method2 = (MethodDef)InjectHelper.Inject(moduleDefMD.ResolveTypeDef(MDToken.ToRID(typeof(AntiDumpRun).MetadataToken)), mod.GlobalType, mod).Single((IDnlibDef method) => method.Name == "Initialize");
methodDef.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, method2));
foreach (MethodDef method3 in mod.GlobalType.Methods)
{
if (!(method3.Name != ".ctor"))
{
mod.GlobalType.Remove(method3);
break;
}
}
}
}
+35
View File
@@ -0,0 +1,35 @@
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using dnlib.DotNet;
using dnlib.DotNet.Emit;
using Obfuscator.Helper;
using Obfuscator.Obfuscator.Anti.Runtime;
namespace Obfuscator.Obfuscator.Anti;
public static class AntiTamper
{
public static void Sha256(string filePath)
{
byte[] array = SHA256.Create().ComputeHash(File.ReadAllBytes(filePath));
using FileStream fileStream = new FileStream(filePath, FileMode.Append);
fileStream.Write(array, 0, array.Length);
}
public static void Execute(ModuleDef module)
{
ModuleDefMD moduleDefMD = ModuleDefMD.Load(typeof(EofAntiTamper).Module);
MethodDef methodDef = module.GlobalType.FindOrCreateStaticConstructor();
MethodDef method2 = (MethodDef)InjectHelper.Inject(moduleDefMD.ResolveTypeDef(MDToken.ToRID(typeof(EofAntiTamper).MetadataToken)), module.GlobalType, module).Single((IDnlibDef method) => method.Name == "Initializer");
methodDef.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, method2));
foreach (MethodDef method3 in module.GlobalType.Methods)
{
if (!(method3.Name != ".ctor"))
{
module.GlobalType.Remove(method3);
break;
}
}
}
}
@@ -0,0 +1,26 @@
using System.Linq;
using dnlib.DotNet;
using dnlib.DotNet.Emit;
using Obfuscator.Helper;
using Obfuscator.Obfuscator.Anti.Runtime;
namespace Obfuscator.Obfuscator.Anti;
internal class Antimanything
{
public static void Execute(ModuleDef module)
{
ModuleDefMD moduleDefMD = ModuleDefMD.Load(typeof(SelfDeleteClass).Module);
MethodDef methodDef = module.GlobalType.FindOrCreateStaticConstructor();
MethodDef method2 = (MethodDef)InjectHelper.Inject(moduleDefMD.ResolveTypeDef(MDToken.ToRID(typeof(SelfDeleteClass).MetadataToken)), module.GlobalType, module).Single((IDnlibDef method) => method.Name == "Init");
methodDef.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, method2));
foreach (MethodDef method3 in module.GlobalType.Methods)
{
if (!(method3.Name != ".ctor"))
{
module.GlobalType.Remove(method3);
break;
}
}
}
}