Dispose() of the PEImage
This commit is contained in:
parent
3aebaef6c2
commit
bcb9a2958c
|
@ -187,32 +187,32 @@ namespace de4dot.code {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool unpackNativeImage(IEnumerable<IDeobfuscator> deobfuscators) {
|
bool unpackNativeImage(IEnumerable<IDeobfuscator> deobfuscators) {
|
||||||
var peImage = new PEImage(Filename);
|
using (var peImage = new PEImage(Filename)) {
|
||||||
|
foreach (var deob in deobfuscators) {
|
||||||
|
byte[] unpackedData = null;
|
||||||
|
try {
|
||||||
|
unpackedData = deob.unpackNativeFile(peImage);
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
}
|
||||||
|
if (unpackedData == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
foreach (var deob in deobfuscators) {
|
var oldModule = module;
|
||||||
byte[] unpackedData = null;
|
try {
|
||||||
try {
|
module = assemblyModule.load(unpackedData);
|
||||||
unpackedData = deob.unpackNativeFile(peImage);
|
}
|
||||||
|
catch {
|
||||||
|
Logger.w("Could not load unpacked data. File: {0}, deobfuscator: {0}", peImage.FileName ?? "(unknown filename)", deob.TypeLong);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
if (oldModule != null)
|
||||||
|
oldModule.Dispose();
|
||||||
|
}
|
||||||
|
this.deob = deob;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
catch {
|
|
||||||
}
|
|
||||||
if (unpackedData == null)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
var oldModule = module;
|
|
||||||
try {
|
|
||||||
module = assemblyModule.load(unpackedData);
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Logger.w("Could not load unpacked data. File: {0}, deobfuscator: {0}", peImage.FileName ?? "(unknown filename)", deob.TypeLong);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
if (oldModule != null)
|
|
||||||
oldModule.Dispose();
|
|
||||||
}
|
|
||||||
this.deob = deob;
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user