Don't remove any types/methods/etc if it's an unknown obfuscator

This commit is contained in:
de4dot 2012-01-14 12:27:03 +01:00
parent 5e3b4a1414
commit f19be8019e
2 changed files with 9 additions and 1 deletions

View File

@ -86,6 +86,10 @@ namespace de4dot.code.deobfuscators {
get { return false; }
}
protected virtual bool KeepTypes {
get { return false; }
}
public virtual IMethodCallInliner MethodCallInliner {
get {
if (CanInlineMethods)
@ -158,7 +162,7 @@ namespace de4dot.code.deobfuscators {
}
public virtual void deobfuscateEnd() {
if (!Operations.KeepObfuscatorTypes) {
if (!Operations.KeepObfuscatorTypes && !KeepTypes) {
deleteEmptyCctors();
deleteMethods();
deleteFields();

View File

@ -61,6 +61,10 @@ namespace de4dot.code.deobfuscators.Unknown {
get { return obfuscatorName ?? "Unknown Obfuscator"; }
}
protected override bool KeepTypes {
get { return true; }
}
internal Deobfuscator(Options options)
: base(options) {
}