diff --git a/de4dot.code/ObfuscatedFile.cs b/de4dot.code/ObfuscatedFile.cs index 15c38078..e120a1ef 100644 --- a/de4dot.code/ObfuscatedFile.cs +++ b/de4dot.code/ObfuscatedFile.cs @@ -731,7 +731,11 @@ namespace de4dot.code { } void ISimpleDeobfuscator.deobfuscate(MethodDefinition method) { - if (check(method, SimpleDeobFlags.HasDeobfuscated)) + ((ISimpleDeobfuscator)this).deobfuscate(method, false); + } + + void ISimpleDeobfuscator.deobfuscate(MethodDefinition method, bool force) { + if (!force && check(method, SimpleDeobFlags.HasDeobfuscated)) return; deobfuscate(method, "Deobfuscating control flow", (blocks) => { diff --git a/de4dot.code/deobfuscators/ISimpleDeobfuscator.cs b/de4dot.code/deobfuscators/ISimpleDeobfuscator.cs index 527bcf3d..6b028100 100644 --- a/de4dot.code/deobfuscators/ISimpleDeobfuscator.cs +++ b/de4dot.code/deobfuscators/ISimpleDeobfuscator.cs @@ -22,6 +22,7 @@ using Mono.Cecil; namespace de4dot.code.deobfuscators { public interface ISimpleDeobfuscator { void deobfuscate(MethodDefinition method); + void deobfuscate(MethodDefinition method, bool force); void decryptStrings(MethodDefinition method, IDeobfuscator deob); } }