23 lines
780 B
C#
23 lines
780 B
C#
using System;
|
|
using System.IO;
|
|
using Mono.Cecil;
|
|
|
|
namespace de4dot.deobfuscators {
|
|
static class DeobUtils {
|
|
public static void decryptAndAddResources(ModuleDefinition module, string encryptedName, Func<byte[]> decryptResource) {
|
|
Log.v("Decrypting resources, name: {0}", Utils.toCsharpString(encryptedName));
|
|
var decryptedResourceData = decryptResource();
|
|
if (decryptedResourceData == null)
|
|
throw new ApplicationException("decryptedResourceData is null");
|
|
var resourceModule = ModuleDefinition.ReadModule(new MemoryStream(decryptedResourceData));
|
|
|
|
Log.indent();
|
|
foreach (var rsrc in resourceModule.Resources) {
|
|
Log.v("Adding decrypted resource {0}", Utils.toCsharpString(rsrc.Name));
|
|
module.Resources.Add(rsrc);
|
|
}
|
|
Log.deIndent();
|
|
}
|
|
}
|
|
}
|