public override void DeobfuscateBegin() { base.DeobfuscateBegin(); stringDecrypter = new StringDecrypter(decrypterInfo); stringDecrypter.Find(); if (stringDecrypter.Detected) { stringDecrypter.Initialize(GetEncoding(options.StringCodePage)); staticStringInliner.Add(stringDecrypter.Method, (method, gim, args) => stringDecrypter.Decrypt((uint)args[0])); DeobfuscatedFile.StringDecryptersAdded(); } else { FreePEImage(); } foreach (var method in mainType.InitMethods) { AddCctorInitCallToBeRemoved(method); } AddTypeToBeRemoved(mainType.Type, "Obfuscator type"); RemoveDuplicateEmbeddedResources(); RemoveInvalidResources(); }
public override void deobfuscateBegin() { base.deobfuscateBegin(); stringDecrypter = new StringDecrypter(decrypterInfo); stringDecrypter.find(); if (stringDecrypter.Detected) { stringDecrypter.initialize(getEncoding(options.StringCodePage)); staticStringInliner.add(stringDecrypter.Method, (method, gim, args) => stringDecrypter.decrypt((uint)args[0])); DeobfuscatedFile.stringDecryptersAdded(); } foreach (var method in mainType.InitMethods) { addCctorInitCallToBeRemoved(method); } addTypeToBeRemoved(mainType.Type, "Obfuscator type"); addModuleReferencesToBeRemoved(mainType.ModuleReferences, "MC runtime module reference"); removeDuplicateEmbeddedResources(); }
public override void DeobfuscateBegin() { base.DeobfuscateBegin(); stringDecrypter = new StringDecrypter(decrypterInfo); stringDecrypter.Find(); if (stringDecrypter.Detected) { stringDecrypter.Initialize(GetEncoding(options.StringCodePage)); staticStringInliner.Add(stringDecrypter.Method, (method, gim, args) => stringDecrypter.Decrypt((uint)args[0])); DeobfuscatedFile.StringDecryptersAdded(); } else FreePEImage(); foreach (var method in mainType.InitMethods) AddCctorInitCallToBeRemoved(method); AddTypeToBeRemoved(mainType.Type, "Obfuscator type"); RemoveDuplicateEmbeddedResources(); RemoveInvalidResources(); }
public override void deobfuscateBegin() { base.deobfuscateBegin(); stringDecrypter = new StringDecrypter(decrypterInfo); stringDecrypter.find(); if (stringDecrypter.Detected) { stringDecrypter.initialize(getEncoding(options.StringCodePage)); staticStringInliner.add(stringDecrypter.Method, (method, args) => stringDecrypter.decrypt((uint)args[0])); DeobfuscatedFile.stringDecryptersAdded(); } foreach (var method in mainType.InitMethods) addCctorInitCallToBeRemoved(method); addTypeToBeRemoved(mainType.Type, "Obfuscator type"); addModuleReferencesToBeRemoved(mainType.ModuleReferences, "MC runtime module reference"); removeDuplicateEmbeddedResources(); }