From f1ff27fd106751292b992e50127e02f8c6164a82 Mon Sep 17 00:00:00 2001 From: de4dot Date: Sat, 24 Sep 2011 18:45:49 +0200 Subject: [PATCH 1/3] Updated .gitignore with *.suo --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e1364502..21e568da 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ *.vcxproj.user *.sdf *.opensdf +*.suo /Debug/ /Release/ From 5dd6567fc9757dda0ea6d8a6b43a4ffdfb25bd9c Mon Sep 17 00:00:00 2001 From: de4dot Date: Sat, 24 Sep 2011 18:48:15 +0200 Subject: [PATCH 2/3] Bug fix. Some methods have a body but 0 instrs --- de4dot.code/ObfuscatedFile.cs | 8 ++++++-- de4dot.code/blocks/BlocksSorter.cs | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/de4dot.code/ObfuscatedFile.cs b/de4dot.code/ObfuscatedFile.cs index 5e4831c1..c35382e0 100644 --- a/de4dot.code/ObfuscatedFile.cs +++ b/de4dot.code/ObfuscatedFile.cs @@ -411,7 +411,7 @@ namespace de4dot { Log.v("Deobfuscating {0} ({1:X8})", method, method.MetadataToken.ToUInt32()); Log.indent(); - if (method.HasBody) { + if (hasNonEmptyBody(method)) { var blocks = new Blocks(method); deob.deobfuscateMethodBegin(blocks); @@ -434,6 +434,10 @@ namespace de4dot { } } + bool hasNonEmptyBody(MethodDefinition method) { + return method.HasBody && method.Body.Instructions.Count > 0; + } + void deobfuscateStrings(Blocks blocks) { switch (options.StringDecrypterType) { case DecrypterType.None: @@ -481,7 +485,7 @@ namespace de4dot { Log.v("{0}: {1} ({2:X8})", msg, method, method.MetadataToken.ToUInt32()); Log.indent(); - if (method.HasBody) { + if (hasNonEmptyBody(method)) { var blocks = new Blocks(method); handler(blocks); diff --git a/de4dot.code/blocks/BlocksSorter.cs b/de4dot.code/blocks/BlocksSorter.cs index 441d98ab..9566810b 100644 --- a/de4dot.code/blocks/BlocksSorter.cs +++ b/de4dot.code/blocks/BlocksSorter.cs @@ -41,7 +41,8 @@ namespace de4dot.blocks { visited = new Dictionary(); sorted = new List(scopeBlock.BaseBlocks.Count); - search(scopeBlock.BaseBlocks[0]); + if (scopeBlock.BaseBlocks.Count > 0) + search(scopeBlock.BaseBlocks[0]); sorted.Reverse(); // It's in reverse order // Just in case there's dead code or unreferenced exception blocks From bfca8a351f57fca9b9647f4e1cfb7b016229eae9 Mon Sep 17 00:00:00 2001 From: de4dot Date: Sat, 24 Sep 2011 18:56:13 +0200 Subject: [PATCH 3/3] Updated version number --- AssemblyData/Properties/AssemblyInfo.cs | 4 ++-- AssemblyServer-x64/Properties/AssemblyInfo.cs | 4 ++-- AssemblyServer-x86/Properties/AssemblyInfo.cs | 4 ++-- AssemblyServer/Properties/AssemblyInfo.cs | 4 ++-- Test.Rename.Dll/Properties/AssemblyInfo.cs | 4 ++-- Test.Rename/Properties/AssemblyInfo.cs | 4 ++-- de4dot-x64/Properties/AssemblyInfo.cs | 4 ++-- de4dot-x86/Properties/AssemblyInfo.cs | 4 ++-- de4dot.code/Properties/AssemblyInfo.cs | 4 ++-- de4dot/Properties/AssemblyInfo.cs | 4 ++-- dumpMethods/Properties/AssemblyInfo.cs | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/AssemblyData/Properties/AssemblyInfo.cs b/AssemblyData/Properties/AssemblyInfo.cs index 6e560796..b61bb22e 100644 --- a/AssemblyData/Properties/AssemblyInfo.cs +++ b/AssemblyData/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/AssemblyServer-x64/Properties/AssemblyInfo.cs b/AssemblyServer-x64/Properties/AssemblyInfo.cs index 6f4da632..28bb27f0 100644 --- a/AssemblyServer-x64/Properties/AssemblyInfo.cs +++ b/AssemblyServer-x64/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/AssemblyServer-x86/Properties/AssemblyInfo.cs b/AssemblyServer-x86/Properties/AssemblyInfo.cs index 0f7f0ef6..121d9aa9 100644 --- a/AssemblyServer-x86/Properties/AssemblyInfo.cs +++ b/AssemblyServer-x86/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/AssemblyServer/Properties/AssemblyInfo.cs b/AssemblyServer/Properties/AssemblyInfo.cs index 6d29c2b7..56bc0a6d 100644 --- a/AssemblyServer/Properties/AssemblyInfo.cs +++ b/AssemblyServer/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/Test.Rename.Dll/Properties/AssemblyInfo.cs b/Test.Rename.Dll/Properties/AssemblyInfo.cs index 67724510..fad8bc4b 100644 --- a/Test.Rename.Dll/Properties/AssemblyInfo.cs +++ b/Test.Rename.Dll/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/Test.Rename/Properties/AssemblyInfo.cs b/Test.Rename/Properties/AssemblyInfo.cs index e4f80f60..8b2bdcbc 100644 --- a/Test.Rename/Properties/AssemblyInfo.cs +++ b/Test.Rename/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/de4dot-x64/Properties/AssemblyInfo.cs b/de4dot-x64/Properties/AssemblyInfo.cs index 0dcebaa5..8a810a1c 100644 --- a/de4dot-x64/Properties/AssemblyInfo.cs +++ b/de4dot-x64/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/de4dot-x86/Properties/AssemblyInfo.cs b/de4dot-x86/Properties/AssemblyInfo.cs index 7238f58c..8ee0ab86 100644 --- a/de4dot-x86/Properties/AssemblyInfo.cs +++ b/de4dot-x86/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/de4dot.code/Properties/AssemblyInfo.cs b/de4dot.code/Properties/AssemblyInfo.cs index f38efd47..89c4715f 100644 --- a/de4dot.code/Properties/AssemblyInfo.cs +++ b/de4dot.code/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/de4dot/Properties/AssemblyInfo.cs b/de4dot/Properties/AssemblyInfo.cs index 3ca1118f..e00a56ca 100644 --- a/de4dot/Properties/AssemblyInfo.cs +++ b/de4dot/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")] diff --git a/dumpMethods/Properties/AssemblyInfo.cs b/dumpMethods/Properties/AssemblyInfo.cs index 6f67fedf..4d317e82 100644 --- a/dumpMethods/Properties/AssemblyInfo.cs +++ b/dumpMethods/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("1.0.0.3405")] -[assembly: AssemblyFileVersion("1.0.0.3405")] +[assembly: AssemblyVersion("1.0.1.3405")] +[assembly: AssemblyFileVersion("1.0.1.3405")]