示例#1
0
 public MainType(ModuleDefinition module, MainType oldOne)
 {
     this.module    = module;
     this.mcType    = lookup(oldOne.mcType, "Could not find main type");
     this.mcModule1 = DeobUtils.lookup(module, oldOne.mcModule1, "Could not find MC runtime module ref #1");
     this.mcModule2 = DeobUtils.lookup(module, oldOne.mcModule2, "Could not find MC runtime module ref #2");
 }
示例#2
0
        static List <TypeDef> lookup(ModuleDefMD module, List <TypeDef> types, string errorMsg)
        {
            var list = new List <TypeDef>(types.Count);

            foreach (var type in types)
            {
                list.Add(DeobUtils.lookup(module, type, errorMsg));
            }
            return(list);
        }
示例#3
0
        public override IDeobfuscator moduleReloaded(ModuleDefinition module)
        {
            var newOne = new Deobfuscator(options);

            newOne.setModule(module);
            newOne.mainType         = new MainType(module, mainType);
            newOne.methodsDecrypter = new MethodsDecrypter(mainType, methodsDecrypter);
            newOne.stringDecrypter  = new StringDecrypter(module, newOne.mainType, stringDecrypter);
            newOne.proxyCallFixer   = new ProxyCallFixer(module, newOne.mainType, proxyCallFixer);
            newOne.killType         = DeobUtils.lookup(module, killType, "Could not find KILL type");
            return(newOne);
        }
示例#4
0
        public override IDeobfuscator moduleReloaded(ModuleDefinition module)
        {
            var newOne = new Deobfuscator(options);

            newOne.setModule(module);
            newOne.cliSecureAttribute  = DeobUtils.lookup(module, cliSecureAttribute, "Could not find CliSecure attribute");
            newOne.cliSecureRtType     = new CliSecureRtType(module, cliSecureRtType);
            newOne.stringDecrypter     = new StringDecrypter(module, stringDecrypter);
            newOne.proxyDelegateFinder = new ProxyDelegateFinder(module, proxyDelegateFinder);
            newOne.csvm = new vm.Csvm(DeobfuscatedFile.DeobfuscatorContext, module, csvm);
            return(newOne);
        }
示例#5
0
 T lookup <T>(T def, string errorMessage) where T : MemberReference
 {
     return(DeobUtils.lookup(module, def, errorMessage));
 }
示例#6
0
 T lookup <T>(T def, string errorMessage) where T : class, ICodedToken
 {
     return(DeobUtils.lookup(module, def, errorMessage));
 }