Assembly resolver doesn't need resource decrypter
This commit is contained in:
parent
3f1b9152bd
commit
50a9421657
|
@ -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() {
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user