亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? proguard.java

?? j2me 混淆包,用于混淆j2me的原代碼用的
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
             referenceWarningCount > 0) &&            !configuration.ignoreWarnings)        {            System.err.println("         If you are sure the mentioned classes are not used anyway,");            System.err.println("         you could try your luck using the '-ignorewarnings' option.");            throw new IOException("Please correct the above warnings first.");        }        // Discard unused library classes.        if (configuration.verbose)        {                    System.out.println("Removing unused library classes...");                    System.out.println("    Original number of library classes: " + libraryClassPool.size());        }        // Reinitialize the library class pool with only those library classes        // whose hierarchies are referenced by the program classes.        ClassPool newLibraryClassPool = new ClassPool();        programClassPool.classFilesAccept(            new AllCpInfoVisitor(            new ReferencedClassFileVisitor(            new LibraryClassFileFilter(            new ClassFileHierarchyTraveler(true, true, true, false,            new LibraryClassFileFilter(            new ClassPoolFiller(newLibraryClassPool, false)))))));        libraryClassPool = newLibraryClassPool;        if (configuration.verbose)        {            System.out.println("    Final number of library classes:    " + libraryClassPool.size());        }    }    /**     * Prints out classes and class members that are used as seeds in the     * shrinking and obfuscation steps.     */    private void printSeeds() throws IOException    {        if (configuration.verbose)        {            System.out.println("Printing kept classes, fields, and methods...");        }        // Check if we have at least some keep commands.        if (configuration.keep == null)        {            throw new IOException("You have to specify '-keep' options for the shrinking step.");        }        PrintStream ps = configuration.printSeeds.length() > 0 ?            new PrintStream(new BufferedOutputStream(new FileOutputStream(configuration.printSeeds))) :            System.out;        // Create a visitor for printing out the seeds. Note that we're only        // printing out the program elements that are preserved against shrinking.        SimpleClassFilePrinter printer = new SimpleClassFilePrinter(false, ps);        ClassPoolVisitor classPoolvisitor =            ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep,                                                                    new ProgramClassFileFilter(printer),                                                                    new ProgramMemberInfoFilter(printer));        // Print out the seeds.        programClassPool.accept(classPoolvisitor);        libraryClassPool.accept(classPoolvisitor);        if (ps != System.out)        {            ps.close();        }    }    /**     * Performs the shrinking step.     */    private void shrink() throws IOException    {        if (configuration.verbose)        {            System.out.println("Shrinking...");        }        // Check if we have at least some keep commands.        if (configuration.keep == null)        {            throw new IOException("You have to specify '-keep' options for the shrinking step.");        }        // Clean up any old visitor info.        ClassFileCleaner classFileCleaner = new ClassFileCleaner();        programClassPool.classFilesAccept(classFileCleaner);        libraryClassPool.classFilesAccept(classFileCleaner);        // Create a visitor for marking the seeds.        UsageMarker usageMarker = new UsageMarker();        ClassPoolVisitor classPoolvisitor =            ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep,                                                                    usageMarker,                                                                    usageMarker);        // Mark the seeds.        programClassPool.accept(classPoolvisitor);        libraryClassPool.accept(classPoolvisitor);        // Mark interfaces that have to be kept.        programClassPool.classFilesAccept(new InterfaceUsageMarker());        // Mark the inner class information that has to be kept.        programClassPool.classFilesAccept(new InnerUsageMarker());        if (configuration.printUsage != null)        {            if (configuration.verbose)            {                System.out.println("Printing usage" +                                   (configuration.printUsage.length() > 0 ?                                       " to [" + configuration.printUsage + "]" :                                       "..."));            }            PrintStream ps = configuration.printUsage.length() > 0 ?                new PrintStream(new BufferedOutputStream(new FileOutputStream(configuration.printUsage))) :                System.out;            // Print out items that will be removed.            programClassPool.classFilesAcceptAlphabetically(new UsagePrinter(true, ps));            if (ps != System.out)            {                ps.close();            }        }        // Discard unused program classes.        if (configuration.verbose)        {            System.out.println("Removing unused program classes and class elements...");            System.out.println("    Original number of program classes: " + programClassPool.size());        }        ClassPool newProgramClassPool = new ClassPool();        programClassPool.classFilesAccept(            new UsedClassFileFilter(            new MultiClassFileVisitor(            new ClassFileVisitor[] {                new ClassFileShrinker(1024),                new ClassPoolFiller(newProgramClassPool, false)            })));        programClassPool = newProgramClassPool;        if (configuration.verbose)        {            System.out.println("    Final number of program classes:    " + programClassPool.size());        }        // Check if we have at least some output class files.        if (programClassPool.size() == 0)        {            throw new IOException("The output jar is empty. Did you specify the proper '-keep' options?");        }    }    /**     * Performs the optimization step.     */    private void optimize() throws IOException    {        if (configuration.verbose)        {            System.out.println("Optimizing...");        }        // Clean up any old visitor info.        ClassFileCleaner classFileCleaner = new ClassFileCleaner();        programClassPool.classFilesAccept(classFileCleaner);        libraryClassPool.classFilesAccept(classFileCleaner);        // Check if we have at least some keep commands.        if (configuration.keep == null)        {            throw new IOException("You have to specify '-keep' options for the optimization step.");        }        // Create a visitor for marking the seeds.        KeepMarker keepMarker = new KeepMarker();        ClassPoolVisitor classPoolvisitor =            ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep,                                                                    keepMarker,                                                                    keepMarker);        // Mark the seeds.        programClassPool.accept(classPoolvisitor);        libraryClassPool.accept(classPoolvisitor);        // Make class files and methods final, as far as possible.        programClassPool.classFilesAccept(new ClassFileFinalizer());        // Mark all fields that are write-only.        programClassPool.classFilesAccept(            new AllMethodVisitor(            new AllAttrInfoVisitor(            new AllInstructionVisitor(            new WriteOnlyFieldMarker()))));        if (configuration.assumeNoSideEffects != null)        {            // Create a visitor for marking methods that don't have any side effects.            NoSideEffectMethodMarker noSideEffectMethodMarker = new NoSideEffectMethodMarker();            ClassPoolVisitor noClassPoolvisitor =                ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.assumeNoSideEffects,                                                                        null,                                                                        noSideEffectMethodMarker);            // Mark the seeds.            programClassPool.accept(noClassPoolvisitor);            libraryClassPool.accept(noClassPoolvisitor);        }        // Mark all methods that have side effects.        programClassPool.accept(new SideEffectMethodMarker());        // Mark all interfaces that have single implementations.        programClassPool.classFilesAccept(new SingleImplementationMarker(configuration.allowAccessModification));        // Inline interfaces with single implementations.        // First update the references to classes and class members.        // Then update the class member descriptors.        programClassPool.classFilesAccept(new AllMethodVisitor(                                          new AllAttrInfoVisitor(                                          new SingleImplementationInliner())));        programClassPool.classFilesAccept(new AllMemberInfoVisitor(                                          new SingleImplementationInliner()));        // Perform partial evaluation.        programClassPool.classFilesAccept(new AllMethodVisitor(                                          new PartialEvaluator()));        // Create a branch target marker and a code attribute editor that can        // be reused for all code attributes.        BranchTargetFinder branchTargetFinder = new BranchTargetFinder(1024);        CodeAttrInfoEditor codeAttrInfoEditor = new CodeAttrInfoEditor(1024);        // Visit all code attributes.        // First let the branch marker mark all branch targets.        // Then perform peephole optimisations on the instructions:        // - Remove push/pop instruction pairs.        // - Remove load/store instruction pairs.        // - Replace store/load instruction pairs by dup/store instructions.        // - Replace branches to return instructions by return instructions.        // - Remove nop instructions.        // - Inline simple getters and setters.        // Finally apply all changes to the code.        programClassPool.classFilesAccept(            new AllMethodVisitor(            new AllAttrInfoVisitor(            new MultiAttrInfoVisitor(            new AttrInfoVisitor[]            {                branchTargetFinder,                new CodeAttrInfoEditorResetter(codeAttrInfoEditor),                new AllInstructionVisitor(                new MultiInstructionVisitor(                new InstructionVisitor[]                {                    new PushPopRemover(branchTargetFinder, codeAttrInfoEditor),                    new LoadStoreRemover(branchTargetFinder, codeAttrInfoEditor),                    new StoreLoadReplacer(branchTargetFinder, codeAttrInfoEditor),                    new GotoReturnReplacer(codeAttrInfoEditor),                    new NopRemover(codeAttrInfoEditor),                    new GetterSetterInliner(codeAttrInfoEditor, configuration.allowAccessModification),                })),                codeAttrInfoEditor            }))));    }    /**     * Performs the obfuscation step.     */    private void obfuscate() throws IOException    {        if (configuration.verbose)        {            System.out.println("Obfuscating...");        }        // Check if we have at least some keep commands.        if (configuration.keep      == null &&            configuration.keepNames == null)        {            throw new IOException("You have to specify '-keep' options for the obfuscation step.");        }        // Clean up any old visitor info.        ClassFileCleaner classFileCleaner = new ClassFileCleaner();        programClassPool.classFilesAccept(classFileCleaner);        libraryClassPool.classFilesAccept(classFileCleaner);        // Link all class members that should get the same names.        programClassPool.classFilesAccept(new BottomClassFileFilter(                                          new MemberInfoLinker()));        // Create a visitor for marking the seeds.        NameMarker nameMarker = new NameMarker();        ClassPoolVisitor classPoolvisitor =            new MultiClassPoolVisitor(new ClassPoolVisitor[]            {                ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep,                                                                        nameMarker,                                                                        nameMarker),

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品999| 久久99国内精品| 国产精品视频一二三| 久久九九久精品国产免费直播| 69久久夜色精品国产69蝌蚪网| 欧美日韩久久一区| 欧美色精品在线视频| 91精品国产一区二区人妖| 777午夜精品免费视频| 欧美人与z0zoxxxx视频| 日韩欧美视频在线| 久久久99免费| 亚洲日本在线天堂| 亚洲国产精品久久久男人的天堂 | 色悠久久久久综合欧美99| 成人黄色av电影| 在线观看国产精品网站| 欧美久久免费观看| 久久亚洲影视婷婷| 国产亲近乱来精品视频| 一区二区三区在线视频免费 | 精品国产免费人成电影在线观看四季| 欧美大片在线观看一区二区| 久久久99免费| 亚洲一区二区美女| 精品亚洲porn| 在线观看一区日韩| 精品国产a毛片| 亚洲欧美日韩人成在线播放| 丝袜a∨在线一区二区三区不卡| 精品一区二区三区的国产在线播放| 国产精品一区二区视频| 一本久久a久久免费精品不卡| 欧美一区二区三区男人的天堂| 久久精品夜夜夜夜久久| 亚洲一区二区三区四区在线观看 | 一区二区免费在线播放| 麻豆精品久久久| 91在线国产观看| 欧美刺激午夜性久久久久久久| 国产精品久久久久久久久久久免费看 | 日韩一区二区在线看| 国产精品久久久久四虎| 免费看日韩a级影片| 95精品视频在线| 久久网站最新地址| 午夜国产精品影院在线观看| av电影在线观看一区| 精品免费视频一区二区| 亚洲免费在线播放| 狠狠狠色丁香婷婷综合激情| 欧美日韩综合一区| 亚洲乱码日产精品bd| 粉嫩绯色av一区二区在线观看 | 成人性生交大片免费| 日韩精品一区二区三区蜜臀| 亚洲国产aⅴ天堂久久| av中文字幕在线不卡| 久久久亚洲精品石原莉奈| 蜜桃视频一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 成人午夜大片免费观看| 精品女同一区二区| 美女在线观看视频一区二区| 欧美久久久久久蜜桃| 亚洲一区二区三区爽爽爽爽爽| 99re8在线精品视频免费播放| 中文字幕第一页久久| 国产a区久久久| 国产色婷婷亚洲99精品小说| 精品无人码麻豆乱码1区2区| 91麻豆精品国产无毒不卡在线观看| 亚洲国产色一区| 在线看不卡av| 午夜伊人狠狠久久| 欧美日本在线看| 午夜精品123| 日韩午夜在线播放| 国产乱码精品一区二区三区五月婷| 欧美r级电影在线观看| 国产一区二区在线电影| 国产午夜精品理论片a级大结局 | 91免费看`日韩一区二区| 国产精品麻豆一区二区| 一本到三区不卡视频| 一区二区三区av电影| 911精品国产一区二区在线| 麻豆一区二区三区| 国产三级欧美三级| 91在线观看免费视频| 亚洲小说春色综合另类电影| 欧美一区二区三区在线观看 | 国产乱国产乱300精品| 久久久国产午夜精品| 99热在这里有精品免费| 亚洲永久免费av| 久久伊人中文字幕| 成人av网址在线| 亚洲成人777| www国产精品av| 色成年激情久久综合| 日韩主播视频在线| 中文字幕乱码久久午夜不卡| 色噜噜狠狠一区二区三区果冻| 肉丝袜脚交视频一区二区| 国产午夜精品久久| 欧美在线一二三| 韩国视频一区二区| 亚洲一区二区偷拍精品| 国产三级三级三级精品8ⅰ区| 一本一道波多野结衣一区二区| 久久精品国产精品青草| 1区2区3区国产精品| 欧美一级理论片| 波多野结衣的一区二区三区| 日本中文字幕一区二区有限公司| 久久精品视频在线免费观看| 欧美美女直播网站| 成人性生交大片免费看在线播放 | 7777精品久久久大香线蕉| 成人网在线免费视频| 日韩av在线播放中文字幕| 欧美国产激情二区三区| 日韩视频一区二区三区在线播放| av福利精品导航| 国产精品白丝av| 日本不卡123| 亚洲国产婷婷综合在线精品| 国产精品久久久久久福利一牛影视 | 一个色在线综合| 中文字幕av一区二区三区高| 精品国产制服丝袜高跟| 538prom精品视频线放| 色婷婷精品久久二区二区蜜臀av| 国产麻豆视频一区二区| 麻豆国产91在线播放| 日本成人在线视频网站| 一区二区三区在线观看欧美 | 欧美成人女星排行榜| 欧美日韩免费观看一区二区三区| 99精品视频一区二区| 成人永久看片免费视频天堂| 国产一区二区三区四区五区美女 | 青青草原综合久久大伊人精品优势 | 不卡的电影网站| 国产91丝袜在线播放九色| 久热成人在线视频| 蜜臀av一区二区在线观看| 蜜桃在线一区二区三区| 全部av―极品视觉盛宴亚洲| 亚洲成av人**亚洲成av**| 亚洲第四色夜色| 日韩不卡一二三区| 青娱乐精品在线视频| 看片网站欧美日韩| 国产精品一二三| 成人高清av在线| 91蜜桃视频在线| 在线免费一区三区| 欧美卡1卡2卡| 精品国产a毛片| 国产精品污污网站在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 一级日本不卡的影视| 奇米四色…亚洲| 国产a视频精品免费观看| 91在线丨porny丨国产| 欧美日韩在线不卡| 精品日韩成人av| 国产精品毛片久久久久久| 一区二区高清在线| 麻豆一区二区在线| 成人妖精视频yjsp地址| 欧美午夜宅男影院| 欧美一级淫片007| 中文字幕欧美一| 首页欧美精品中文字幕| 国产精品一区在线| 欧洲亚洲精品在线| 久久综合九色综合欧美98| 亚洲欧洲综合另类在线| 日韩av网站免费在线| 成人晚上爱看视频| 69av一区二区三区| 国产精品每日更新在线播放网址| 亚洲国产综合色| 成人激情小说网站| 欧美一级高清片| 亚洲欧美日韩一区| 国产一区二区三区免费播放| 色欧美片视频在线观看| 久久蜜臀精品av| 婷婷久久综合九色综合绿巨人| 国产 欧美在线| 7777女厕盗摄久久久| 亚洲乱码精品一二三四区日韩在线| 久久激情五月激情| 欧美色老头old∨ideo| 国产精品午夜在线| 精品一区二区三区不卡|