From 1b32fdd3b655e0e1dd0d7654be1114a15bb0de4c Mon Sep 17 00:00:00 2001 From: de4dot Date: Thu, 22 Dec 2011 18:48:24 +0100 Subject: [PATCH] Write warning message if we couldn't unpack it --- .../dotNET_Reactor/v3/ApplicationModeUnpacker.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/de4dot.code/deobfuscators/dotNET_Reactor/v3/ApplicationModeUnpacker.cs b/de4dot.code/deobfuscators/dotNET_Reactor/v3/ApplicationModeUnpacker.cs index c7b7a65e..a66347af 100644 --- a/de4dot.code/deobfuscators/dotNET_Reactor/v3/ApplicationModeUnpacker.cs +++ b/de4dot.code/deobfuscators/dotNET_Reactor/v3/ApplicationModeUnpacker.cs @@ -81,6 +81,7 @@ namespace de4dot.code.deobfuscators.dotNET_Reactor.v3 { List satelliteAssemblies = new List(); uint[] sizes; string[] filenames; + bool shouldUnpack; public IEnumerable EmbeddedAssemblies { get { return satelliteAssemblies; } @@ -95,11 +96,14 @@ namespace de4dot.code.deobfuscators.dotNET_Reactor.v3 { return unpack2(); } catch { + if (shouldUnpack) + Log.w("Could not unpack the file"); return null; } } byte[] unpack2() { + shouldUnpack = false; uint headerOffset = peImage.ImageLength - 12; uint offsetEncryptedAssembly = checkOffset(peImage.offsetReadUInt32(headerOffset)); uint ezencryptionLibLength = peImage.offsetReadUInt32(headerOffset + 4); @@ -119,6 +123,7 @@ namespace de4dot.code.deobfuscators.dotNET_Reactor.v3 { sizes = getSizes(settings["General_App_Satellite_Assemblies_Sizes"]); if (sizes == null || sizes.Length <= 1) return null; + shouldUnpack = true; if (sizes[0] != offsetEncryptedAssembly) return null; filenames = settings["General_App_Satellite_Assemblies"].Split('|');