diff --git a/de4dot.code/deobfuscators/dotNET_Reactor/BooleanDecrypter.cs b/de4dot.code/deobfuscators/dotNET_Reactor/BooleanDecrypter.cs index 95b0db43..aa4be731 100644 --- a/de4dot.code/deobfuscators/dotNET_Reactor/BooleanDecrypter.cs +++ b/de4dot.code/deobfuscators/dotNET_Reactor/BooleanDecrypter.cs @@ -77,6 +77,7 @@ namespace de4dot.deobfuscators.dotNET_Reactor { this.fileData = fileData; encryptedResource.init(simpleDeobfuscator); + Log.v("Adding boolean decrypter. Resource: {0}", Utils.toCsharpString(encryptedResource.EncryptedDataResource.Name)); decryptedData = encryptedResource.decrypt(); } diff --git a/de4dot.code/deobfuscators/dotNET_Reactor/LocalTypes.cs b/de4dot.code/deobfuscators/dotNET_Reactor/LocalTypes.cs index 33970a8b..7363b060 100644 --- a/de4dot.code/deobfuscators/dotNET_Reactor/LocalTypes.cs +++ b/de4dot.code/deobfuscators/dotNET_Reactor/LocalTypes.cs @@ -26,8 +26,12 @@ namespace de4dot.deobfuscators.dotNET_Reactor { class LocalTypes { Dictionary localTypes = new Dictionary(StringComparer.Ordinal); + public IEnumerable Types { + get { return localTypes.Keys; } + } + public LocalTypes(MethodDefinition method) { - if (method.Body != null) + if (method != null && method.Body != null) init(method.Body.Variables); } @@ -36,6 +40,8 @@ namespace de4dot.deobfuscators.dotNET_Reactor { } void init(IEnumerable locals) { + if (locals == null) + return; foreach (var local in locals) { var key = local.VariableType.FullName; int count;