public StringDecrypter(ModuleDefMD module, MainType mainType, StringDecrypter oldOne) { this.module = module; this.mainType = mainType; this.decrypterType = lookup(oldOne.decrypterType, "Could not find string decrypter type"); this.stringDataField = lookup(oldOne.stringDataField, "Could not find string data field"); this.initMethod = lookup(oldOne.initMethod, "Could not find string decrypter init method"); this.decrypterMethod = lookup(oldOne.decrypterMethod, "Could not find string decrypter method"); }
protected override void scanForObfuscator() { findKillType(); mainType = new MainType(module); mainType.find(); proxyCallFixer = new ProxyCallFixer(module, mainType); proxyCallFixer.findDelegateCreator(); methodsDecrypter = new MethodsDecrypter(mainType); methodsDecrypter.find(); stringDecrypter = new StringDecrypter(module, mainType); stringDecrypter.find(); var version = detectVersion(); if (!string.IsNullOrEmpty(version)) { obfuscatorName = obfuscatorName + " " + version; } }