Add a force option to deobfuscate() method

This commit is contained in:
de4dot 2012-07-16 18:02:32 +02:00
parent 9f8cac4dac
commit ca65972c64
2 changed files with 6 additions and 1 deletions

View File

@ -731,7 +731,11 @@ namespace de4dot.code {
} }
void ISimpleDeobfuscator.deobfuscate(MethodDefinition method) { void ISimpleDeobfuscator.deobfuscate(MethodDefinition method) {
if (check(method, SimpleDeobFlags.HasDeobfuscated)) ((ISimpleDeobfuscator)this).deobfuscate(method, false);
}
void ISimpleDeobfuscator.deobfuscate(MethodDefinition method, bool force) {
if (!force && check(method, SimpleDeobFlags.HasDeobfuscated))
return; return;
deobfuscate(method, "Deobfuscating control flow", (blocks) => { deobfuscate(method, "Deobfuscating control flow", (blocks) => {

View File

@ -22,6 +22,7 @@ using Mono.Cecil;
namespace de4dot.code.deobfuscators { namespace de4dot.code.deobfuscators {
public interface ISimpleDeobfuscator { public interface ISimpleDeobfuscator {
void deobfuscate(MethodDefinition method); void deobfuscate(MethodDefinition method);
void deobfuscate(MethodDefinition method, bool force);
void decryptStrings(MethodDefinition method, IDeobfuscator deob); void decryptStrings(MethodDefinition method, IDeobfuscator deob);
} }
} }