diff --git a/de4dot.code/ObfuscatedFile.cs b/de4dot.code/ObfuscatedFile.cs index 98cb5f80..2025c2c7 100644 --- a/de4dot.code/ObfuscatedFile.cs +++ b/de4dot.code/ObfuscatedFile.cs @@ -287,18 +287,30 @@ namespace de4dot.code { } IDeobfuscator detectObfuscator2(IEnumerable deobfuscators) { + var allDetected = new List(); IDeobfuscator detected = null; int detectVal = 0; foreach (var deob in deobfuscators) { this.deob = deob; // So we can call deob.CanInlineMethods in deobfuscate() int val = deob.detect(); Log.v("{0,3}: {1}", val, deob.TypeLong); + if (val > 0 && deob.Type != "un") + allDetected.Add(deob); if (val > detectVal) { detectVal = val; detected = deob; } } this.deob = null; + + if (allDetected.Count > 1) { + Log.n("More than one obfuscator detected:"); + Log.indent(); + foreach (var deob in allDetected) + Log.n("{0} (use: -p {1})", deob.Name, deob.Type); + Log.deIndent(); + } + return detected; }