Fix problem when resources aren't encrypted or compressed
This commit is contained in:
parent
779d1a8a31
commit
4f02f84d84
|
@ -37,6 +37,7 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
|
|||
public byte[] decrypt(Stream resourceStream) {
|
||||
byte flags = (byte)resourceStream.ReadByte();
|
||||
Stream sourceStream = resourceStream;
|
||||
bool didSomething = false;
|
||||
|
||||
if ((flags & 1) != 0) {
|
||||
var memStream = new MemoryStream((int)resourceStream.Length);
|
||||
|
@ -59,6 +60,7 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
|
|||
}
|
||||
}
|
||||
sourceStream = memStream;
|
||||
didSomething = true;
|
||||
}
|
||||
|
||||
if ((flags & 2) != 0) {
|
||||
|
@ -74,6 +76,7 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
|
|||
}
|
||||
|
||||
sourceStream = memStream;
|
||||
didSomething = true;
|
||||
}
|
||||
|
||||
if ((flags & 4) != 0) {
|
||||
|
@ -83,9 +86,10 @@ namespace de4dot.deobfuscators.CryptoObfuscator {
|
|||
memStream.WriteByte((byte)~sourceStream.ReadByte());
|
||||
|
||||
sourceStream = memStream;
|
||||
didSomething = true;
|
||||
}
|
||||
|
||||
if (sourceStream is MemoryStream) {
|
||||
if (didSomething && sourceStream is MemoryStream) {
|
||||
var memStream = (MemoryStream)sourceStream;
|
||||
return memStream.ToArray();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user