コード例 #1
0
        protected override void scanForObfuscator()
        {
            foreach (var type in module.Types) {
                if (type.FullName == "CryptoObfuscator.ProtectedWithCryptoObfuscatorAttribute") {
                    foundCryptoObfuscatorAttribute = true;
                    addAttributeToBeRemoved(type, "Obfuscator attribute");
                    initializeVersion(type);
                }
            }
            if (checkCryptoObfuscator())
                foundObfuscatedSymbols = true;

            methodsDecrypter = new MethodsDecrypter(module);
            methodsDecrypter.find();
            proxyCallFixer = new ProxyCallFixer(module);
            proxyCallFixer.findDelegateCreator();
            stringDecrypter = new StringDecrypter(module);
            stringDecrypter.find();
            tamperDetection = new TamperDetection(module);
            tamperDetection.find();
            constantsDecrypter = new ConstantsDecrypter(module);
            constantsDecrypter.find();
            foundObfuscatorUserString = Utils.StartsWith(module.ReadUserString(0x70000001), "\u0011\"3D9B94A98B-76A8-4810-B1A0-4BE7C4F9C98D", StringComparison.Ordinal);
        }