From f88d57a2063f2555e020425a9433cd825bc43f0f Mon Sep 17 00:00:00 2001 From: de4dot Date: Mon, 26 Dec 2011 20:30:30 +0100 Subject: [PATCH] Don't load method bodies if --no-cflow-deob is used and no types removed --- de4dot.code/ObfuscatedFile.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/de4dot.code/ObfuscatedFile.cs b/de4dot.code/ObfuscatedFile.cs index 8000d231..d580a77f 100644 --- a/de4dot.code/ObfuscatedFile.cs +++ b/de4dot.code/ObfuscatedFile.cs @@ -516,6 +516,13 @@ namespace de4dot.code { } deob.DeobfuscatedFile = null; + if (!options.ControlFlowDeobfuscation) { + // If it's the unknown type, we don't remove any types that could cause Mono.Cecil + // to throw an exception. + if (deob.Type == "un" || options.KeepObfuscatorTypes) + return; + } + Log.v("Deobfuscating methods"); var methodPrinter = new MethodPrinter(); var cflowDeobfuscator = new BlocksCflowDeobfuscator { InlineMethods = deob.CanInlineMethods };