diff --git a/de4dot.code/deobfuscators/CodeWall/AssemblyDecrypter.cs b/de4dot.code/deobfuscators/CodeWall/AssemblyDecrypter.cs index a645602b..6d59bfa7 100644 --- a/de4dot.code/deobfuscators/CodeWall/AssemblyDecrypter.cs +++ b/de4dot.code/deobfuscators/CodeWall/AssemblyDecrypter.cs @@ -242,6 +242,14 @@ namespace de4dot.code.deobfuscators.CodeWall { return null; } + public AssemblyInfo findMain() { + foreach (var asmInfo in assemblyInfos) { + if (asmInfo.isEntryPointAssembly) + return asmInfo; + } + return null; + } + public void remove(AssemblyInfo asmInfo) { assemblyInfos.Remove(asmInfo); } diff --git a/de4dot.code/deobfuscators/CodeWall/Deobfuscator.cs b/de4dot.code/deobfuscators/CodeWall/Deobfuscator.cs index 2dc62522..4494ad75 100644 --- a/de4dot.code/deobfuscators/CodeWall/Deobfuscator.cs +++ b/de4dot.code/deobfuscators/CodeWall/Deobfuscator.cs @@ -186,7 +186,7 @@ namespace de4dot.code.deobfuscators.CodeWall { var asm = module.Assembly; if (asm == null || assemblyDecrypter == null) return null; - var asmInfo = assemblyDecrypter.findMain(asm.FullName); + var asmInfo = assemblyDecrypter.findMain(asm.FullName) ?? assemblyDecrypter.findMain(); if (asmInfo == null) return null;