void ISimpleDeobfuscator.Deobfuscate(MethodDef method, SimpleDeobfuscatorFlags flags) { bool force = (flags & SimpleDeobfuscatorFlags.Force) != 0; if (method == null || (!force && Check(method, SimpleDeobFlags.HasDeobfuscated))) { return; } Deobfuscate(method, "Deobfuscating control flow", (blocks) => { bool disableNewCFCode = (flags & SimpleDeobfuscatorFlags.DisableConstantsFolderExtraInstrs) != 0; var cflowDeobfuscator = new BlocksCflowDeobfuscator(deob.BlocksDeobfuscators, disableNewCFCode); cflowDeobfuscator.Initialize(blocks); cflowDeobfuscator.Deobfuscate(); }); }
void ISimpleDeobfuscator.Deobfuscate(MethodDef method, SimpleDeobfuscatorFlags flags) { bool force = (flags & SimpleDeobfuscatorFlags.Force) != 0; if (method == null || (!force && Check(method, SimpleDeobFlags.HasDeobfuscated))) return; Deobfuscate(method, "Deobfuscating control flow", (blocks) => { bool disableNewCFCode = (flags & SimpleDeobfuscatorFlags.DisableConstantsFolderExtraInstrs) != 0; var cflowDeobfuscator = new BlocksCflowDeobfuscator(deob.BlocksDeobfuscators, disableNewCFCode); cflowDeobfuscator.Initialize(blocks); cflowDeobfuscator.Deobfuscate(); }); }