diff --git a/de4dot.code/de4dot.code.csproj b/de4dot.code/de4dot.code.csproj index 2c2a129c..06813eb3 100644 --- a/de4dot.code/de4dot.code.csproj +++ b/de4dot.code/de4dot.code.csproj @@ -87,7 +87,7 @@ - + diff --git a/de4dot.code/deobfuscators/dotNET_Reactor/TamperDetection.cs b/de4dot.code/deobfuscators/dotNET_Reactor/AntiStrongname.cs similarity index 98% rename from de4dot.code/deobfuscators/dotNET_Reactor/TamperDetection.cs rename to de4dot.code/deobfuscators/dotNET_Reactor/AntiStrongname.cs index d20e50e0..188ea00c 100644 --- a/de4dot.code/deobfuscators/dotNET_Reactor/TamperDetection.cs +++ b/de4dot.code/deobfuscators/dotNET_Reactor/AntiStrongname.cs @@ -23,11 +23,11 @@ using Mono.Cecil.Cil; using de4dot.blocks; namespace de4dot.deobfuscators.dotNET_Reactor { - class TamperDetection { + class AntiStrongName { TypeDefinition decrypterType; MethodDefinition tamperMethod; - public TamperDetection(TypeDefinition decrypterType) { + public AntiStrongName(TypeDefinition decrypterType) { this.decrypterType = decrypterType; find(); } diff --git a/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs b/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs index a70a3c9b..e0d05a19 100644 --- a/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs +++ b/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs @@ -38,7 +38,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { BoolOption dumpEmbeddedAssemblies; BoolOption decryptResources; BoolOption removeNamespaces; - BoolOption removeTamperDetection; + BoolOption removeAntiStrongName; public DeobfuscatorInfo() : base(DEFAULT_REGEX) { @@ -50,7 +50,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true); decryptResources = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true); removeNamespaces = new BoolOption(null, makeArgName("ns1"), "Clear namespace if there's only one class in it", true); - removeTamperDetection = new BoolOption(null, makeArgName("tamper"), "Remove tamper detection code", true); + removeAntiStrongName = new BoolOption(null, makeArgName("sn"), "Remove anti strong name code", true); } public override string Name { @@ -72,7 +72,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { DumpEmbeddedAssemblies = dumpEmbeddedAssemblies.get(), DecryptResources = decryptResources.get(), RemoveNamespaces = removeNamespaces.get(), - RemoveTamperDetection = removeTamperDetection.get(), + RemoveAntiStrongName = removeAntiStrongName.get(), }); } @@ -86,7 +86,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { dumpEmbeddedAssemblies, decryptResources, removeNamespaces, - removeTamperDetection, + removeAntiStrongName, }; } } @@ -104,7 +104,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { MetadataTokenObfuscator metadataTokenObfuscator; AssemblyResolver assemblyResolver; ResourceResolver resourceResolver; - TamperDetection tamperDetection; + AntiStrongName antiStrongname; bool canRemoveDecrypterType = true; bool startedDeobfuscating = false; @@ -118,7 +118,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { public bool DumpEmbeddedAssemblies { get; set; } public bool DecryptResources { get; set; } public bool RemoveNamespaces { get; set; } - public bool RemoveTamperDetection { get; set; } + public bool RemoveAntiStrongName { get; set; } } public override string Type { @@ -365,7 +365,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { DeobfuscatedFile.stringDecryptersAdded(); metadataTokenObfuscator = new MetadataTokenObfuscator(module); - tamperDetection = new TamperDetection(getDecrypterType()); + antiStrongname = new AntiStrongName(getDecrypterType()); bool removeResourceResolver = false; if (options.DecryptResources) { @@ -398,7 +398,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { else canRemoveDecrypterType = false; - if (!options.RemoveTamperDetection) + if (!options.RemoveAntiStrongName) canRemoveDecrypterType = false; // The inlined methods may contain calls to the decrypter class @@ -445,15 +445,15 @@ namespace de4dot.deobfuscators.dotNET_Reactor { public override void deobfuscateMethodEnd(Blocks blocks) { metadataTokenObfuscator.deobfuscate(blocks); fixTypeofDecrypterInstructions(blocks); - removeTamperDetection(blocks); + removeAntiStrongNameCode(blocks); base.deobfuscateMethodEnd(blocks); } - void removeTamperDetection(Blocks blocks) { - if (!options.RemoveTamperDetection) + void removeAntiStrongNameCode(Blocks blocks) { + if (!options.RemoveAntiStrongName) return; - if (tamperDetection.remove(blocks)) - Log.v("Removed Tamper Detection code"); + if (antiStrongname.remove(blocks)) + Log.v("Removed anti strong name code"); } TypeDefinition getDecrypterType() {