Assembly resolver doesn't need resource decrypter

This commit is contained in:
de4dot 2011-10-22 14:53:24 +02:00
parent 3f1b9152bd
commit 50a9421657
3 changed files with 9 additions and 10 deletions

View File

@ -27,7 +27,6 @@ using de4dot.blocks;
namespace de4dot.deobfuscators.CryptoObfuscator { namespace de4dot.deobfuscators.CryptoObfuscator {
class AssemblyResolver { class AssemblyResolver {
ModuleDefinition module; ModuleDefinition module;
ResourceDecrypter resourceDecrypter;
TypeDefinition resolverType; TypeDefinition resolverType;
List<AssemblyInfo> assemblyInfos; List<AssemblyInfo> assemblyInfos;
@ -50,9 +49,8 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
get { return assemblyInfos; } get { return assemblyInfos; }
} }
public AssemblyResolver(ModuleDefinition module, ResourceDecrypter resourceDecrypter) { public AssemblyResolver(ModuleDefinition module) {
this.module = module; this.module = module;
this.resourceDecrypter = resourceDecrypter;
} }
public void find() { public void find() {

View File

@ -136,7 +136,7 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
resourceDecrypter = new ResourceDecrypter(module); resourceDecrypter = new ResourceDecrypter(module);
resourceResolver = new ResourceResolver(module, resourceDecrypter); resourceResolver = new ResourceResolver(module, resourceDecrypter);
assemblyResolver = new AssemblyResolver(module, resourceDecrypter); assemblyResolver = new AssemblyResolver(module);
resourceResolver.find(); resourceResolver.find();
assemblyResolver.find(); assemblyResolver.find();

View File

@ -64,12 +64,13 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
if ((flags & 2) != 0) { if ((flags & 2) != 0) {
var memStream = new MemoryStream((int)resourceStream.Length); var memStream = new MemoryStream((int)resourceStream.Length);
sourceStream.Position = 0; sourceStream.Position = 0;
var inflater = new DeflateStream(sourceStream, CompressionMode.Decompress); using (var inflater = new DeflateStream(sourceStream, CompressionMode.Decompress)) {
while (true) { while (true) {
int count = inflater.Read(buffer1, 0, buffer1.Length); int count = inflater.Read(buffer1, 0, buffer1.Length);
if (count <= 0) if (count <= 0)
break; break;
memStream.Write(buffer1, 0, count); memStream.Write(buffer1, 0, count);
}
} }
sourceStream = memStream; sourceStream = memStream;