From 8fbcdeb060b2db68bd39715a012374370009cfdd Mon Sep 17 00:00:00 2001 From: de4dot Date: Tue, 24 Jan 2012 09:06:54 +0100 Subject: [PATCH] Make sure it gets an RVA, and change field type to byte --- de4dot.code/deobfuscators/DeepSea/AssemblyResolver.cs | 3 ++- de4dot.code/deobfuscators/DeepSea/ResourceResolver.cs | 3 ++- de4dot.code/deobfuscators/DeepSea/StringDecrypter.cs | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/de4dot.code/deobfuscators/DeepSea/AssemblyResolver.cs b/de4dot.code/deobfuscators/DeepSea/AssemblyResolver.cs index a5cdfbef..9f308d62 100644 --- a/de4dot.code/deobfuscators/DeepSea/AssemblyResolver.cs +++ b/de4dot.code/deobfuscators/DeepSea/AssemblyResolver.cs @@ -177,7 +177,8 @@ namespace de4dot.code.deobfuscators.DeepSea { foreach (var fieldInfo in fieldInfos) { var decrypted = decryptResourceV4(fieldInfo.field.InitialValue, fieldInfo.magic); infos.Add(getAssemblyInfo(decrypted, null)); - fieldInfo.field.InitialValue = new byte[0]; + fieldInfo.field.InitialValue = new byte[1]; + fieldInfo.field.FieldType = module.TypeSystem.Byte; } return infos; diff --git a/de4dot.code/deobfuscators/DeepSea/ResourceResolver.cs b/de4dot.code/deobfuscators/DeepSea/ResourceResolver.cs index 5fec8f64..9d57014d 100644 --- a/de4dot.code/deobfuscators/DeepSea/ResourceResolver.cs +++ b/de4dot.code/deobfuscators/DeepSea/ResourceResolver.cs @@ -137,7 +137,8 @@ namespace de4dot.code.deobfuscators.DeepSea { string name = string.Format("Embedded data field {0:X8} RVA {0:X8}", resourceField.MetadataToken.ToInt32(), resourceField.RVA); DeobUtils.decryptAndAddResources(module, name, () => decryptResourceV4(resourceField.InitialValue, magicV4)); - resourceField.InitialValue = new byte[0]; + resourceField.InitialValue = new byte[1]; + resourceField.FieldType = module.TypeSystem.Byte; } return true; } diff --git a/de4dot.code/deobfuscators/DeepSea/StringDecrypter.cs b/de4dot.code/deobfuscators/DeepSea/StringDecrypter.cs index 1c484e0b..aa48ec0f 100644 --- a/de4dot.code/deobfuscators/DeepSea/StringDecrypter.cs +++ b/de4dot.code/deobfuscators/DeepSea/StringDecrypter.cs @@ -256,7 +256,8 @@ namespace de4dot.code.deobfuscators.DeepSea { } public void cleanup() { - encryptedDataField.InitialValue = new byte[0]; + encryptedDataField.InitialValue = new byte[1]; + encryptedDataField.FieldType = encryptedDataField.Module.TypeSystem.Byte; } }