From 4f315fd65abcdf16a07e4987bf69d0e65ee8d12a Mon Sep 17 00:00:00 2001 From: de4dot Date: Wed, 26 Oct 2011 14:30:47 +0200 Subject: [PATCH] Add reload() method when the file has been decrypted --- de4dot.code/AssemblyModule.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/de4dot.code/AssemblyModule.cs b/de4dot.code/AssemblyModule.cs index ee030fab..f910d1cd 100644 --- a/de4dot.code/AssemblyModule.cs +++ b/de4dot.code/AssemblyModule.cs @@ -48,6 +48,18 @@ namespace de4dot { module.Write(newFilename); } + public ModuleDefinition reload(byte[] newModuleData) { + var assemblyResolver = AssemblyResolver.Instance; + assemblyResolver.removeModule(module); + dumpedMethods = new Dictionary(); + + var readerParameters = new ReaderParameters(ReadingMode.Deferred); + readerParameters.AssemblyResolver = assemblyResolver; + module = ModuleDefinition.ReadModule(new MemoryStream(newModuleData), readerParameters); + assemblyResolver.addModule(module); + return module; + } + void readMethodsFile() { if (new FileInfo(methodsFilename).Exists) { using (var reader = new BinaryReader(File.Open(methodsFilename, FileMode.Open, FileAccess.Read, FileShare.Read))) {