Remove support for .methods files.
This commit is contained in:
parent
cbdcf1d8c1
commit
7821fc03bf
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue
Block a user