Remove support for .methods files.

This commit is contained in:
de4dot 2011-11-06 12:26:41 +01:00
parent cbdcf1d8c1
commit 7821fc03bf
3 changed files with 3 additions and 30 deletions

View File

@ -27,20 +27,13 @@ using de4dot.blocks;
namespace de4dot {
class AssemblyModule {
string filename;
string methodsFilename;
Dictionary<uint, DumpedMethod> dumpedMethods;
ModuleDefinition module;
public AssemblyModule(string filename, string methodsFilename = null) {
public AssemblyModule(string filename) {
this.filename = Utils.getFullPath(filename);
this.methodsFilename = methodsFilename;
if (this.methodsFilename == null)
this.methodsFilename = this.filename + ".methods";
}
public ModuleDefinition load() {
readMethodsFile();
readFile();
return module;
}
@ -57,7 +50,6 @@ namespace de4dot {
var assemblyResolver = AssemblyResolver.Instance;
assemblyResolver.removeModule(module);
DotNetUtils.typeCaches.invalidate(module);
this.dumpedMethods = dumpedMethods;
var readerParameters = new ReaderParameters(ReadingMode.Deferred);
readerParameters.AssemblyResolver = assemblyResolver;
@ -67,22 +59,11 @@ namespace de4dot {
return module;
}
void readMethodsFile() {
if (Utils.fileExists(methodsFilename)) {
using (var reader = new BinaryReader(File.Open(methodsFilename, FileMode.Open, FileAccess.Read, FileShare.Read))) {
dumpedMethods = new DumpedMethodsReader(reader).read();
}
}
else {
dumpedMethods = new Dictionary<uint, DumpedMethod>();
}
}
void readFile() {
var assemblyResolver = AssemblyResolver.Instance;
var readerParameters = new ReaderParameters(ReadingMode.Deferred);
readerParameters.AssemblyResolver = assemblyResolver;
module = ModuleDefinition.ReadModule(filename, readerParameters, dumpedMethods);
module = ModuleDefinition.ReadModule(filename, readerParameters);
assemblyResolver.addModule(module);
}

View File

@ -165,13 +165,6 @@ namespace de4dot {
newFileOptions.StringDecrypterMethods.AddRange(defaultStringDecrypterMethods);
});
fileOptions.Add(defaultOption);
fileOptions.Add(new OneArgOption("m", null, "Name of .methods file", "file", (val) => {
if (newFileOptions == null)
exitError("Missing input file");
if (!Utils.fileExists(val))
exitError(string.Format("File \"{0}\" does not exist.", val));
newFileOptions.MethodsFilename = val;
}));
fileOptions.Add(new OneArgOption("o", null, "Name of output file", "file", (val) => {
if (newFileOptions == null)
exitError("Missing input file");

View File

@ -80,7 +80,6 @@ namespace de4dot {
public class Options {
public string Filename { get; set; }
public string MethodsFilename { get; set; }
public string NewFilename { get; set; }
public string ForcedObfuscatorType { get; set; }
public DecrypterType StringDecrypterType { get; set; }
@ -128,7 +127,7 @@ namespace de4dot {
this.options = options;
userStringDecrypterMethods = options.StringDecrypterMethods.Count > 0;
options.Filename = Utils.getFullPath(options.Filename);
assemblyModule = new AssemblyModule(options.Filename, options.MethodsFilename);
assemblyModule = new AssemblyModule(options.Filename);
if (options.NewFilename == null)
options.NewFilename = getDefaultNewFilename();