protected override void Execute(ConfuserContext context, ProtectionParameters parameters) { var marker = context.Registry.GetService <IMarkerService>(); var name = context.Registry.GetService <INameService>(); var allAddedTypes = new List <IDnlibDef>(); Type[][] typesToAdd = { BabelDotNet.GetTypes(), //+110 CodeFort.GetTypes(), //+100 CodeWall.GetTypes(), //+100 CryptoObfuscator.GetTypes(), //+120 Dotfuscator.GetTypes(), //+100 EazfuscatorDotNet.GetTypes(), //+100 GoliathDotNet.GetTypes(), //+100 Xenocode.GetTypes() //+100 }; foreach (var m in parameters.Targets.Cast <ModuleDef>()) { //inject types foreach (Type[] idk in typesToAdd) { allAddedTypes.AddRange(InjectType(m, context.Logger, idk)); } //mark types foreach (IDnlibDef def in allAddedTypes) { name.MarkHelper(def, marker, Parent); } } }
protected override void Execute(ConfuserContext context, ProtectionParameters parameters) { ModuleDef m = context.CurrentModule; var marker = context.Registry.GetService <IMarkerService>(); var name = context.Registry.GetService <INameService>(); var allAddedTypes = new List <IDnlibDef>(); TypeDefUser[] attributesToAdd = { AgileDotNet.GetAttributes(), //+10 BabelDotNet.GetAttributes(), //+10 CryptoObfuscator.GetAttributes(), //+10 Dotfuscator.GetAttributes(), //+10 GoliathDotNet.GetAttributes(), //+10 SpicesDotNet.GetAttributes(), //+10 Xenocode.GetAttributes(), //+10 SmartAssembly.GetAttributes(), //+10 new TypeDefUser("YanoAttribute") //for unknown obfuscator }; //inject types foreach (TypeDefUser idk in attributesToAdd) { allAddedTypes.AddRange(InjectType(m, context.Logger, idk)); } //mark types to NOT be renamed foreach (IDnlibDef def in allAddedTypes) { marker.Mark(def, Parent); name.SetCanRename(def, false); } }