public StringDecrypter(ModuleDefMD module, StringDecrypter oldOne) { this.module = module; stringDecrypterVersion = oldOne.stringDecrypterVersion; encryptedResource = new EncryptedResource(module, oldOne.encryptedResource); foreach (var oldInfo in oldOne.decrypterInfos) { var method = Lookup(oldInfo.method, "Could not find string decrypter method"); decrypterInfos.Add(new DecrypterInfo(method, oldInfo.key, oldInfo.iv)); } otherStringDecrypter = Lookup(oldOne.otherStringDecrypter, "Could not find string decrypter method"); }
protected override void ScanForObfuscator() { methodsDecrypter = new MethodsDecrypter(Module); methodsDecrypter.Find(); stringDecrypter = new StringDecrypter(Module); stringDecrypter.Find(DeobfuscatedFile); booleanDecrypter = new BooleanDecrypter(Module); booleanDecrypter.Find(); assemblyResolver = new AssemblyResolver(Module); assemblyResolver.Find(DeobfuscatedFile); obfuscatorName = DetectVersion(); if (unpackedNativeFile) { obfuscatorName += " (native)"; } resourceResolver = new ResourceResolver(Module); resourceResolver.Find(DeobfuscatedFile); }