Reset resource data positions
This commit is contained in:
parent
d8e73e70e6
commit
4658e911a2
|
@ -29,6 +29,7 @@ namespace de4dot.code.deobfuscators.Agile_NET.vm {
|
|||
IBinaryReader reader;
|
||||
|
||||
public CsvmDataReader(IBinaryReader reader) {
|
||||
reader.Position = 0;
|
||||
this.reader = reader;
|
||||
}
|
||||
|
||||
|
|
|
@ -128,6 +128,7 @@ namespace de4dot.code.deobfuscators.CodeVeil {
|
|||
var data = bundleData.Data.ReadAllBytes();
|
||||
|
||||
var doc = new XmlDocument();
|
||||
bundleXmlFile.Data.Position = 0;
|
||||
doc.Load(XmlReader.Create(bundleXmlFile.Data.CreateStream()));
|
||||
var manifest = doc.DocumentElement;
|
||||
if (manifest.Name.ToLowerInvariant() != "manifest") {
|
||||
|
|
|
@ -217,6 +217,7 @@ namespace de4dot.code.deobfuscators.CodeWall {
|
|||
void decryptAllAssemblies() {
|
||||
if (assemblyResource == null)
|
||||
return;
|
||||
assemblyResource.Data.Position = 0;
|
||||
var resourceSet = ResourceReader.read(resourceModule, assemblyResource.Data);
|
||||
foreach (var resourceElement in resourceSet.ResourceElements) {
|
||||
if (resourceElement.ResourceData.Code != ResourceTypeCode.ByteArray)
|
||||
|
|
|
@ -255,6 +255,7 @@ namespace de4dot.code.deobfuscators.CodeWall {
|
|||
info.Magic2 = findMagic2(info.Method);
|
||||
info.Magic3 = findMagic3(info.Method);
|
||||
info.Reader = info.Resource.Data;
|
||||
info.Reader.Position = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -108,6 +108,7 @@ namespace de4dot.code.deobfuscators.CryptoObfuscator {
|
|||
return;
|
||||
|
||||
encryptedResource = CoUtils.getResource(module, DotNetUtils.getCodeStrings(decrypterType.FindStaticConstructor()));
|
||||
encryptedResource.Data.Position = 0;
|
||||
constantsData = resourceDecrypter.decrypt(encryptedResource.Data.CreateStream());
|
||||
}
|
||||
|
||||
|
|
|
@ -75,6 +75,7 @@ namespace de4dot.code.deobfuscators.CryptoObfuscator {
|
|||
if (resource == null)
|
||||
return null;
|
||||
|
||||
resource.Data.Position = 0;
|
||||
DeobUtils.decryptAndAddResources(module, resource.Name.String, () => resourceDecrypter.decrypt(resource.Data.CreateStream()));
|
||||
mergedIt = true;
|
||||
return resource;
|
||||
|
|
|
@ -83,6 +83,7 @@ namespace de4dot.code.deobfuscators.ILProtector {
|
|||
if (resource == null)
|
||||
continue;
|
||||
var reader = resource.Data;
|
||||
reader.Position = 0;
|
||||
if (!checkResourceV100(reader) &&
|
||||
!checkResourceV105(reader))
|
||||
continue;
|
||||
|
@ -133,6 +134,7 @@ namespace de4dot.code.deobfuscators.ILProtector {
|
|||
|
||||
byte[] getMethodsData(EmbeddedResource resource) {
|
||||
var reader = resource.Data;
|
||||
reader.Position = 0;
|
||||
reader.Position = startOffset;
|
||||
if ((reader.ReadInt32() & 1) != 0)
|
||||
return decompress(reader);
|
||||
|
|
|
@ -124,6 +124,7 @@ namespace de4dot.code.renamer {
|
|||
|
||||
void rename(TypeDef type, EmbeddedResource resource) {
|
||||
newNames.Clear();
|
||||
resource.Data.Position = 0;
|
||||
var resourceSet = ResourceReader.read(module, resource.Data);
|
||||
var renamed = new List<RenameInfo>();
|
||||
foreach (var elem in resourceSet.ResourceElements) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user