当前位置: 首页>>代码示例>>C#>>正文


C# ISimpleDeobfuscator.decryptStrings方法代码示例

本文整理汇总了C#中ISimpleDeobfuscator.decryptStrings方法的典型用法代码示例。如果您正苦于以下问题:C# ISimpleDeobfuscator.decryptStrings方法的具体用法?C# ISimpleDeobfuscator.decryptStrings怎么用?C# ISimpleDeobfuscator.decryptStrings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ISimpleDeobfuscator的用法示例。


在下文中一共展示了ISimpleDeobfuscator.decryptStrings方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: findEmbeddedResource

 public static EmbeddedResource findEmbeddedResource(ModuleDefinition module, TypeDefinition decrypterType, ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
 {
     return findEmbeddedResource(module, decrypterType, (method) => {
         simpleDeobfuscator.deobfuscate(method);
         simpleDeobfuscator.decryptStrings(method, deob);
     });
 }
开发者ID:Joelone,项目名称:de4dot,代码行数:7,代码来源:BabelUtils.cs

示例2: init

        public bool init(IDeobfuscator deob, ISimpleDeobfuscator simpleDeobfuscator)
        {
            var cctor = DotNetUtils.getMethod(stringsEncodingClass, ".cctor");
            if (cctor == null)
                throw new ApplicationException("Could not find .cctor");
            simpleDeobfuscator.deobfuscate(cctor);

            stringsResource = findStringResource(cctor);
            if (stringsResource == null) {
                simpleDeobfuscator.decryptStrings(cctor, deob);
                stringsResource = findStringResource(cctor);
                if (stringsResource == null)
                    return false;
            }

            var offsetVal = findOffsetValue(cctor);
            if (offsetVal == null)
                throw new ApplicationException("Could not find string offset");
            stringOffset = offsetVal.Value;

            if (!findDecrypterMethod())
                throw new ApplicationException("Could not find string decrypter method");

            simpleZipType = findSimpleZipType(cctor);
            if (simpleZipType != null)
                resourceDecrypter = new ResourceDecrypter(new ResourceDecrypterInfo(module, simpleZipType, simpleDeobfuscator));

            return true;
        }
开发者ID:ostuda,项目名称:de4dot,代码行数:29,代码来源:StringDecrypterInfo.cs

示例3: initializeInfos

        bool initializeInfos(ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
        {
            if (handlerMethod == null)
                return true;

            foreach (var method in resolverType.Methods) {
                if (!method.IsStatic || method.Body == null)
                    continue;
                if (!DotNetUtils.isMethod(method, "System.Void", "()"))
                    continue;
                if (!DeobUtils.hasInteger(method, ':') || !DeobUtils.hasInteger(method, '|'))
                    continue;

                simpleDeobfuscator.deobfuscate(method);
                simpleDeobfuscator.decryptStrings(method, deob);
                if (!initializeInfos(method))
                    continue;

                return true;
            }

            return false;
        }
开发者ID:GodLesZ,项目名称:ConfuserDeobfuscator,代码行数:23,代码来源:ResourceResolver.cs

示例4: findGetManifestResourceStreamTypeResource

 EmbeddedResource findGetManifestResourceStreamTypeResource(TypeDefinition type, ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
 {
     foreach (var method in type.Methods) {
         if (!method.IsPrivate || !method.IsStatic || method.Body == null)
             continue;
         if (!DotNetUtils.isMethod(method, "System.String", "(System.Reflection.Assembly,System.Type,System.String)"))
             continue;
         simpleDeobfuscator.deobfuscate(method);
         simpleDeobfuscator.decryptStrings(method, deob);
         foreach (var s in DotNetUtils.getCodeStrings(method)) {
             var resource = DotNetUtils.getResource(module, s) as EmbeddedResource;
             if (resource != null)
                 return resource;
         }
     }
     return null;
 }
开发者ID:ByteCatcher,项目名称:de4dot,代码行数:17,代码来源:GetManifestResourceRestorer.cs

示例5: initialize

        public void initialize(ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
        {
            if (handlerMethod == null)
                return;

            findOtherType();

            simpleDeobfuscator.deobfuscate(handlerMethod);
            simpleDeobfuscator.decryptStrings(handlerMethod, deob);
            if (!createAssemblyInfos())
                throw new ApplicationException("Could not initialize assembly infos");

            simpleDeobfuscator.deobfuscate(decryptMethod);
            simpleDeobfuscator.decryptStrings(decryptMethod, deob);
            if (!createDecryptKey())
                throw new ApplicationException("Could not initialize decryption key");
        }
开发者ID:huliang,项目名称:de4dot,代码行数:17,代码来源:AssemblyResolver.cs

示例6: checkInitMethod

        bool checkInitMethod(MethodDef checkMethod, ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
        {
            var requiredFields = new string[] {
                "System.Collections.Hashtable",
                "System.Boolean",
            };

            foreach (var method in DotNetUtils.getCalledMethods(module, checkMethod)) {
                if (method.Body == null)
                    continue;
                if (!method.IsStatic)
                    continue;
                if (!DotNetUtils.isMethod(method, "System.Void", "()"))
                    continue;

                var type = method.DeclaringType;
                if (!new FieldTypes(type).exactly(requiredFields))
                    continue;
                var ctor = type.FindMethod(".ctor");
                if (ctor == null)
                    continue;
                var handler = DeobUtils.getResolveMethod(ctor);
                if (handler == null)
                    continue;
                simpleDeobfuscator.decryptStrings(handler, deob);
                var resourcePrefix = getResourcePrefix(handler);
                if (resourcePrefix == null)
                    continue;

                for (int i = 0; ; i++) {
                    var resource = DotNetUtils.getResource(module, resourcePrefix + i.ToString("D5")) as EmbeddedResource;
                    if (resource == null)
                        break;
                    resources.Add(resource);
                }

                initMethod = method;
                return true;
            }

            return false;
        }
开发者ID:GodLesZ,项目名称:ConfuserDeobfuscator,代码行数:42,代码来源:LibAssemblyResolver.cs

示例7: init

        public void init(ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
        {
            if (encryptedResource.Method == null)
                return;

            initMethod = findInitMethod(simpleDeobfuscator);
            if (initMethod == null)
                throw new ApplicationException("Could not find resource resolver init method");

            simpleDeobfuscator.deobfuscate(encryptedResource.Method);
            simpleDeobfuscator.decryptStrings(encryptedResource.Method, deob);
            encryptedResource.init(simpleDeobfuscator);
        }
开发者ID:n017,项目名称:ConfuserDeobfuscator,代码行数:13,代码来源:ResourceResolver.cs

示例8: findStringsResource2

        bool findStringsResource2(IDeobfuscator deob, ISimpleDeobfuscator simpleDeobfuscator, MethodDef initMethod)
        {
            if (initMethod == null)
                return false;

            stringsResource = findStringResource(initMethod);
            if (stringsResource != null)
                return true;

            simpleDeobfuscator.decryptStrings(initMethod, deob);
            stringsResource = findStringResource(initMethod);
            if (stringsResource != null)
                return true;

            return false;
        }
开发者ID:GodLesZ,项目名称:ConfuserDeobfuscator,代码行数:16,代码来源:StringDecrypterInfo.cs

示例9: getAssemblyInfos

        public List<AssemblyInfo> getAssemblyInfos(ISimpleDeobfuscator simpleDeobfuscator, IDeobfuscator deob)
        {
            var infos = new List<AssemblyInfo>();

            if (embedResolverMethod != null) {
                simpleDeobfuscator.deobfuscate(embedResolverMethod);
                simpleDeobfuscator.decryptStrings(embedResolverMethod, deob);
                embedPassword = getEmbedPassword(embedResolverMethod);
            }

            if (embedPassword == null)
                return infos;

            foreach (var rsrc in module.Resources) {
                var resource = rsrc as EmbeddedResource;
                if (resource == null)
                    continue;
                if (!Regex.IsMatch(resource.Name.String, "^cfd_([0-9a-f]{2})+_$"))
                    continue;

                var asmData = decrypt(embedPassword, gunzip(resource.Data.ReadAllBytes()));
                var mod = ModuleDefMD.Load(asmData);
                infos.Add(new AssemblyInfo(asmData, resource, mod.Assembly.FullName, mod.Assembly.Name.String, DeobUtils.getExtension(mod.Kind)));
            }

            return infos;
        }
开发者ID:n017,项目名称:ConfuserDeobfuscator,代码行数:27,代码来源:AssemblyDecrypter.cs


注:本文中的ISimpleDeobfuscator.decryptStrings方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。