⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proguardgui.java

📁 j2me 混淆包,用于混淆j2me的原代码用的
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        panelButtons = null;        addBorder(programPanel, "programJars" );        addBorder(libraryPanel, "libraryJars" );        JPanel inputOutputPanel = new JPanel(layout);        inputOutputPanel.add(programPanel, stretchPanelConstraints);        inputOutputPanel.add(libraryPanel, stretchPanelConstraints);        // Load the boiler plate options.        loadBoilerplateConfiguration();        // Create the boiler plate keep panels.        boilerplateKeepCheckBoxes = new JCheckBox[boilerplateKeep.length];        boilerplateKeepTextFields = new JTextField[boilerplateKeep.length];        JButton printUsageBrowseButton   = createBrowseButton(printUsageTextField,                                                              msg("selectUsageFile"));        JPanel shrinkingOptionsPanel = new JPanel(layout);        addBorder(shrinkingOptionsPanel, "options");        shrinkingOptionsPanel.add(shrinkCheckBox,         constraintsLastStretch);        shrinkingOptionsPanel.add(printUsageCheckBox,     constraints);        shrinkingOptionsPanel.add(printUsageTextField,    constraintsStretch);        shrinkingOptionsPanel.add(printUsageBrowseButton, constraintsLast);        JPanel shrinkingPanel = new JPanel(layout);        shrinkingPanel.add(shrinkingOptionsPanel, panelConstraints);        addClassSpecifications(boilerplateKeep,                               shrinkingPanel,                               boilerplateKeepCheckBoxes,                               boilerplateKeepTextFields);        addBorder(additionalKeepPanel, "keepAdditional");        shrinkingPanel.add(additionalKeepPanel, stretchPanelConstraints);        // Create the boiler plate keep names panels.        boilerplateKeepNamesCheckBoxes = new JCheckBox[boilerplateKeepNames.length];        boilerplateKeepNamesTextFields = new JTextField[boilerplateKeepNames.length];        JButton printMappingBrowseButton = createBrowseButton(printMappingTextField,                                                              msg("selectPrintMappingFile"));        JButton applyMappingBrowseButton = createBrowseButton(applyMappingTextField,                                                              msg("selectApplyMappingFile"));        JButton obfucationDictionaryBrowseButton = createBrowseButton(obfuscationDictionaryTextField,                                                                      msg("selectObfuscationDictionaryFile"));        JPanel obfuscationOptionsPanel = new JPanel(layout);        addBorder(obfuscationOptionsPanel, "options");        obfuscationOptionsPanel.add(obfuscateCheckBox,                constraintsLastStretch);        obfuscationOptionsPanel.add(printMappingCheckBox,             constraints);        obfuscationOptionsPanel.add(printMappingTextField,            constraintsStretch);        obfuscationOptionsPanel.add(printMappingBrowseButton,         constraintsLast);        obfuscationOptionsPanel.add(applyMappingCheckBox,             constraints);        obfuscationOptionsPanel.add(applyMappingTextField,            constraintsStretch);        obfuscationOptionsPanel.add(applyMappingBrowseButton,         constraintsLast);        obfuscationOptionsPanel.add(obfuscationDictionaryCheckBox,    constraints);        obfuscationOptionsPanel.add(obfuscationDictionaryTextField,   constraintsStretch);        obfuscationOptionsPanel.add(obfucationDictionaryBrowseButton, constraintsLast);        obfuscationOptionsPanel.add(overloadAggressivelyCheckBox,     constraintsLastStretch);        obfuscationOptionsPanel.add(defaultPackageCheckBox,           constraints);        obfuscationOptionsPanel.add(defaultPackageTextField,          constraintsLastStretch);        obfuscationOptionsPanel.add(useMixedCaseClassNamesCheckBox,   constraintsLastStretch);        obfuscationOptionsPanel.add(keepAttributesCheckBox,           constraints);        obfuscationOptionsPanel.add(keepAttributesTextField,          constraintsLastStretch);        obfuscationOptionsPanel.add(newSourceFileAttributeCheckBox,   constraints);        obfuscationOptionsPanel.add(newSourceFileAttributeTextField,  constraintsLastStretch);        JPanel obfuscationPanel = new JPanel(layout);        obfuscationPanel.add(obfuscationOptionsPanel, panelConstraints);        addClassSpecifications(boilerplateKeepNames,                               obfuscationPanel,                               boilerplateKeepNamesCheckBoxes,                               boilerplateKeepNamesTextFields);        addBorder(additionalKeepNamesPanel, "keepNamesAdditional");        obfuscationPanel.add(additionalKeepNamesPanel, stretchPanelConstraints);        // Create the boiler plate "no side effect methods" panels.        boilerplateNoSideEffectMethodCheckBoxes = new JCheckBox[boilerplateNoSideEffectMethods.length];        JPanel optimizationOptionsPanel = new JPanel(layout);        addBorder(optimizationOptionsPanel, "options");        optimizationOptionsPanel.add(optimizeCheckBox,                constraintsLastStretch);        optimizationOptionsPanel.add(allowAccessModificationCheckBox, constraintsLastStretch);        JPanel optimizationPanel = new JPanel(layout);        optimizationPanel.add(optimizationOptionsPanel, panelConstraints);        addClassSpecifications(boilerplateNoSideEffectMethods,                               optimizationPanel,                               boilerplateNoSideEffectMethodCheckBoxes,                               null);        addBorder(additionalNoSideEffectsPanel, "assumeNoSideEffectsAdditional");        optimizationPanel.add(additionalNoSideEffectsPanel, stretchPanelConstraints);        // Create the options panel.        JButton printSeedsBrowseButton   = createBrowseButton(printSeedsTextField,                                                              msg("selectSeedsFile"));        JPanel consistencyPanel = new JPanel(layout);        addBorder(consistencyPanel, "consistencyAndCorrectness");        consistencyPanel.add(printSeedsCheckBox,                       constraints);        consistencyPanel.add(printSeedsTextField,                      constraintsStretch);        consistencyPanel.add(printSeedsBrowseButton,                   constraintsLast);        consistencyPanel.add(verboseCheckBox,                          constraintsLastStretch);        consistencyPanel.add(noteCheckBox,                             constraintsLastStretch);        consistencyPanel.add(warnCheckBox,                             constraintsLastStretch);        consistencyPanel.add(ignoreWarningsCheckBox,                   constraintsLastStretch);        consistencyPanel.add(skipNonPublicLibraryClassesCheckBox,      constraintsLastStretch);        consistencyPanel.add(skipNonPublicLibraryClassMembersCheckBox, constraintsLastStretch);        // Collect all components that are followed by text fields and make        // sure they are equally sized. That way the text fields start at the        // same horizontal position.        setCommonPreferredSize(Arrays.asList(new JComponent[] {            printMappingCheckBox,            applyMappingCheckBox,            defaultPackageCheckBox,            newSourceFileAttributeCheckBox,        }));        JPanel optionsPanel = new JPanel(layout);        optionsPanel.add(consistencyPanel,  panelConstraints);        // Create the process panel.        consoleTextArea.setOpaque(false);        consoleTextArea.setEditable(false);        consoleTextArea.setLineWrap(false);        consoleTextArea.setWrapStyleWord(false);        JScrollPane consoleScrollPane = new JScrollPane(consoleTextArea);        consoleScrollPane.setBorder(new EmptyBorder(1, 1, 1, 1));        addBorder(consoleScrollPane, "processingConsole");        JPanel processPanel = new JPanel(layout);        processPanel.add(consoleScrollPane, stretchPanelConstraints);        // Create the load, save, and process buttons.        JButton loadButton = new JButton(msg("loadConfiguration"));        loadButton.addActionListener(new MyLoadConfigurationActionListener());        JButton viewButton = new JButton(msg("viewConfiguration"));        viewButton.addActionListener(new MyViewConfigurationActionListener());        JButton saveButton = new JButton(msg("saveConfiguration"));        saveButton.addActionListener(new MySaveConfigurationActionListener());        JButton processButton = new JButton(msg("process"));        processButton.addActionListener(new MyProcessActionListener());        // Create the ReTrace panel.        JPanel reTraceSettingsPanel = new JPanel(layout);        addBorder(reTraceSettingsPanel, "reTraceSettings");        JButton reTraceMappingBrowseButton = createBrowseButton(reTraceMappingTextField,                                                                msg("selectApplyMappingFile"));        JLabel reTraceMappingLabel = new JLabel(msg("mappingFile"));        reTraceMappingLabel.setForeground(reTraceVerboseCheckBox.getForeground());        reTraceSettingsPanel.add(reTraceMappingLabel,        constraints);        reTraceSettingsPanel.add(reTraceMappingTextField,    constraintsStretch);        reTraceSettingsPanel.add(reTraceMappingBrowseButton, constraintsLast);        reTraceSettingsPanel.add(reTraceVerboseCheckBox,     constraintsLastStretch);        stackTraceTextArea.setOpaque(true);        stackTraceTextArea.setEditable(true);        stackTraceTextArea.setLineWrap(false);        stackTraceTextArea.setWrapStyleWord(true);        JScrollPane stackTraceScrollPane = new JScrollPane(stackTraceTextArea);        addBorder(stackTraceScrollPane, "obfuscatedStackTrace");        reTraceTextArea.setOpaque(false);        reTraceTextArea.setEditable(false);        reTraceTextArea.setLineWrap(true);        reTraceTextArea.setWrapStyleWord(true);        JScrollPane reTraceScrollPane = new JScrollPane(reTraceTextArea);        reTraceScrollPane.setBorder(new EmptyBorder(1, 1, 1, 1));        addBorder(reTraceScrollPane, "deobfuscatedStackTrace");        JPanel reTracePanel = new JPanel(layout);        reTracePanel.add(reTraceSettingsPanel, panelConstraints);        reTracePanel.add(stackTraceScrollPane, panelConstraints);        reTracePanel.add(reTraceScrollPane,    stretchPanelConstraints);        // Create the load button.        JButton loadStackTraceButton = new JButton(msg("loadStackTrace"));        loadStackTraceButton.addActionListener(new MyLoadStackTraceActionListener());        JButton reTraceButton = new JButton(msg("reTrace"));        reTraceButton.addActionListener(new MyReTraceActionListener());        // Create the main tabbed pane.        TabbedPane tabs = new TabbedPane();        tabs.add(msg("proGuardTab"),     proGuardPanel);        tabs.add(msg("inputOutputTab"),  inputOutputPanel);        tabs.add(msg("shrinkingTab"),    shrinkingPanel);        tabs.add(msg("obfuscationTab"),  obfuscationPanel);        tabs.add(msg("optimizationTab"), optimizationPanel);        tabs.add(msg("informationTab"),  optionsPanel);        tabs.add(msg("processTab"),      processPanel);        tabs.add(msg("reTraceTab"),      reTracePanel);        tabs.addImage(Toolkit.getDefaultToolkit().getImage(            this.getClass().getResource(TITLE_IMAGE_FILE)));        // Add the bottom buttons to each panel.        proGuardPanel     .add(Box.createGlue(),           glueConstraints);        proGuardPanel     .add(loadButton,                 bottomButtonConstraints);        proGuardPanel     .add(createNextButton(tabs),     lastBottomButtonConstraints);        inputOutputPanel  .add(Box.createGlue(),           glueConstraints);        inputOutputPanel  .add(createPreviousButton(tabs), bottomButtonConstraints);        inputOutputPanel  .add(createNextButton(tabs),     lastBottomButtonConstraints);        shrinkingPanel    .add(Box.createGlue(),           glueConstraints);        shrinkingPanel    .add(createPreviousButton(tabs), bottomButtonConstraints);        shrinkingPanel    .add(createNextButton(tabs),     lastBottomButtonConstraints);        obfuscationPanel  .add(Box.createGlue(),           glueConstraints);        obfuscationPanel  .add(createPreviousButton(tabs), bottomButtonConstraints);        obfuscationPanel  .add(createNextButton(tabs),     lastBottomButtonConstraints);        optimizationPanel .add(Box.createGlue(),           glueConstraints);        optimizationPanel .add(createPreviousButton(tabs), bottomButtonConstraints);        optimizationPanel .add(createNextButton(tabs),     lastBottomButtonConstraints);        optionsPanel      .add(Box.createGlue(),           glueConstraints);        optionsPanel      .add(createPreviousButton(tabs), bottomButtonConstraints);        optionsPanel      .add(createNextButton(tabs),     lastBottomButtonConstraints);        processPanel      .add(Box.createGlue(),           glueConstraints);        processPanel      .add(createPreviousButton(tabs), bottomButtonConstraints);        processPanel      .add(viewButton,                 bottomButtonConstraints);        processPanel      .add(saveButton,                 bottomButtonConstraints);        processPanel      .add(processButton,              lastBottomButtonConstraints);        reTracePanel      .add(Box.createGlue(),           glueConstraints);        reTracePanel      .add(loadStackTraceButton,       bottomButtonConstraints);        reTracePanel      .add(reTraceButton,              lastBottomButtonConstraints);        // Initialize the GUI settings to reasonable defaults.        loadConfiguration(this.getClass().getResource(DEFAULT_CONFIGURATION));        // Add the main tabs to the frame and pack it.        getContentPane().add(tabs);    }    public void startSplash()    {        splashPanel.start();    }    public void skipSplash()    {        splashPanel.stop();    }    /**     * Loads the boilerplate keep class file options from the boilerplate file     * into the boilerplate array.     */    private void loadBoilerplateConfiguration()    {        try        {            // Parse the boilerplate configuration file.            ConfigurationParser parser = new ConfigurationParser(                this.getClass().getResource(BOILERPLATE_CONFIGURATION));            Configuration configuration = new Configuration();            parser.parse(configuration);            // We're interested in the keep options.            boilerplateKeep = new ClassSpecification[configuration.keep.size()];            configuration.keep.toArray(boilerplateKeep);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -