public override void deobfuscateBegin() { base.deobfuscateBegin(); if (mainType.Detected) { if (methodsDecrypter.Detected) { methodsDecrypter.decrypt(); addTypesToBeRemoved(methodsDecrypter.DelegateTypes, "Obfuscator method delegate type"); addResourceToBeRemoved(methodsDecrypter.Resource, "Encrypted methods resource"); addTypeToBeRemoved(mainType.InvokerDelegate, "Invoker delegate type"); addFieldToBeRemoved(mainType.InvokerInstanceField, "Invoker delegate instance field"); foreach (var pm in mainType.ProtectMethods) { addMethodToBeRemoved(pm, "Obfuscator 'Protect' init method"); } mainType.cleanUp(); } else { Logger.w("New ILProtector version. Can't decrypt methods (yet)"); } } }
public override void deobfuscateBegin() { base.deobfuscateBegin(); methodsDecrypter.decrypt(); addTypesToBeRemoved(methodsDecrypter.DelegateTypes, "Obfuscator method delegate type"); addResourceToBeRemoved(methodsDecrypter.Resource, "Encrypted methods resource"); addTypeToBeRemoved(mainType.InvokerDelegate, "Invoker delegate type"); addFieldToBeRemoved(mainType.InvokerInstanceField, "Invoker delegate instance field"); foreach (var pm in mainType.ProtectMethods) { addMethodToBeRemoved(pm, "Obfuscator 'Protect' init method"); addModuleReferenceToBeRemoved(pm.PInvokeInfo.Module, "Obfuscator native protection file"); } mainType.cleanUp(); }