From 3bfb2e7dc77bf971f9da1b698e153040927006d5 Mon Sep 17 00:00:00 2001 From: de4dot Date: Thu, 24 Nov 2011 07:49:50 +0100 Subject: [PATCH] Update DNR detection --- de4dot.code/deobfuscators/DeobfuscatorBase.cs | 8 ++++++++ de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/de4dot.code/deobfuscators/DeobfuscatorBase.cs b/de4dot.code/deobfuscators/DeobfuscatorBase.cs index 6f959717..3694d6d2 100644 --- a/de4dot.code/deobfuscators/DeobfuscatorBase.cs +++ b/de4dot.code/deobfuscators/DeobfuscatorBase.cs @@ -499,6 +499,14 @@ namespace de4dot.deobfuscators { return list.Count == 0 ? null : list[0]; } + protected bool hasMetadataStream(string name) { + foreach (var stream in module.MetadataStreams) { + if (stream.name == name) + return true; + } + return false; + } + public virtual bool isValidNamespaceName(string ns) { if (ns == null) return false; diff --git a/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs b/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs index c737e42b..5524db26 100644 --- a/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs +++ b/de4dot.code/deobfuscators/dotNET_Reactor/Deobfuscator.cs @@ -211,6 +211,11 @@ namespace de4dot.deobfuscators.dotNET_Reactor { if (sum > 0) val += 100 + 10 * (sum - 1); + if (sum == 0) { + if (hasMetadataStream("#GUlD") && hasMetadataStream("#Blop")) + val += 10; + } + return val; }