From 294ae6bc5eb093aefba73ab90bf74fe638b6bce3 Mon Sep 17 00:00:00 2001 From: de4dot Date: Mon, 9 Jan 2012 22:47:29 +0100 Subject: [PATCH] Show message if more than one obfuscator is detected --- de4dot.code/ObfuscatedFile.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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; }