2.9.5
05/01/2015 - Added 'pingback' for statistics (to track how many people globally use BCV)
This commit is contained in:
parent
36b9b8979d
commit
02f3c876dd
6 changed files with 45 additions and 16 deletions
Binary file not shown.
Binary file not shown.
|
@ -86,21 +86,10 @@ import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer;
|
|||
* When you drag a folder, it must add the folder name not just the child into the root jtree path
|
||||
* add stackmapframes to bytecode decompiler
|
||||
* add stackmapframes remover?
|
||||
* In BCV if you open a class and the name is so big, you cannot close because the [X] does not appear."
|
||||
*
|
||||
* -----2.9.4-----:
|
||||
* 04/19/2015 - Added -O to be passed for Krakatau Decompiler/Disassembler/Assembler. (Thanks Storyyeller).
|
||||
* 04/19/2015 - Added -skip to be passed for Krakatau Decompiler. (Thanks Storyyeller).
|
||||
* 04/19/2015 - Changed the warning window for Python to recommend PyPy. (Thanks Storyyeller).
|
||||
* 04/20/2015 - Happy 2015 4/20 (Shoutout to @announce420 for being 2 years old).
|
||||
* 04/21/2015 - Started reworking the View Panes.
|
||||
* 04/21/2015 - Finished reworking the View Panes - http://i.imgur.com/SqIw4Vj.png - Cheers to whoever's idea this was (I forget sorry <3).
|
||||
* 04/21/2015 - Updated CFR to 0_100.jar
|
||||
* 04/21/2015 - Added CTRL + R for run.
|
||||
* 04/21/2015 - Added CTRL + S for save files as.
|
||||
* 04/21/2015 - Added CTRL + T for compile.
|
||||
* 04/21/2015 - Added Krakatau optional library.
|
||||
* 04/21/2015 - The about pane now provides a lot more up to date information.
|
||||
* 04/21/2015 - Changed 'View Panes' to simply 'View'.
|
||||
* -----2.9.5-----:
|
||||
* 05/01/2015 - Added 'pingback' for statistics (to track how many people globally use BCV)
|
||||
*
|
||||
* @author Konloch
|
||||
*
|
||||
|
@ -109,7 +98,7 @@ import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer;
|
|||
public class BytecodeViewer {
|
||||
|
||||
/*per version*/
|
||||
public static String version = "2.9.4";
|
||||
public static String version = "2.9.5";
|
||||
public static String krakatauVersion = "2";
|
||||
/*the rest*/
|
||||
public static MainViewerGUI viewer = null;
|
||||
|
@ -136,6 +125,7 @@ public class BytecodeViewer {
|
|||
public static String lastDirectory = "";
|
||||
public static ArrayList<Process> krakatau = new ArrayList<Process>();
|
||||
public static Refactorer refactorer = new Refactorer();
|
||||
public static boolean pingback = false;
|
||||
|
||||
/**
|
||||
* The version checker thread
|
||||
|
@ -353,6 +343,34 @@ public class BytecodeViewer {
|
|||
for (String s : args) {
|
||||
openFiles(new File[] { new File(s) }, true);
|
||||
}
|
||||
|
||||
if(!pingback) {
|
||||
pingback = true;
|
||||
pingback();
|
||||
}
|
||||
}
|
||||
|
||||
public static void pingback() {
|
||||
JOptionPane pane = new JOptionPane(
|
||||
"Would you like to 'pingback' to https://bytecodeviewer.com to be counted in the global users for BCV?");
|
||||
Object[] options = new String[] { "Yes", "No" };
|
||||
pane.setOptions(options);
|
||||
JDialog dialog = pane.createDialog(BytecodeViewer.viewer,
|
||||
"Bytecode Viewer - Optional Pingback");
|
||||
dialog.setVisible(true);
|
||||
Object obj = pane.getValue();
|
||||
int result = -1;
|
||||
for (int k = 0; k < options.length; k++)
|
||||
if (options[k].equals(obj))
|
||||
result = k;
|
||||
|
||||
if (result == 0) {
|
||||
try {
|
||||
new HTTPRequest(new URL("https://bytecodeviewer.com/add.php")).read();
|
||||
} catch (Exception e) {
|
||||
new the.bytecode.club.bytecodeviewer.api.ExceptionUI(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -178,6 +178,7 @@ public class Settings {
|
|||
DiskWriter.writeNewLine(BytecodeViewer.settingsName, String.valueOf(BytecodeViewer.viewer.panel3Smali_E.isSelected()), false);
|
||||
DiskWriter.writeNewLine(BytecodeViewer.settingsName, String.valueOf(BytecodeViewer.viewer.decodeAPKResources.isSelected()), false);
|
||||
DiskWriter.writeNewLine(BytecodeViewer.settingsName, BytecodeViewer.library, false);
|
||||
DiskWriter.writeNewLine(BytecodeViewer.settingsName, String.valueOf(BytecodeViewer.pingback), false);
|
||||
} catch(Exception e) {
|
||||
new the.bytecode.club.bytecodeviewer.api.ExceptionUI(e);
|
||||
}
|
||||
|
@ -354,9 +355,10 @@ public class Settings {
|
|||
BytecodeViewer.viewer.panel3Smali_E.setSelected(Boolean.parseBoolean(DiskReader.loadString(BytecodeViewer.settingsName, 105, false)));
|
||||
BytecodeViewer.viewer.decodeAPKResources.setSelected(Boolean.parseBoolean(DiskReader.loadString(BytecodeViewer.settingsName, 106, false)));
|
||||
BytecodeViewer.library = DiskReader.loadString(BytecodeViewer.settingsName, 107, false);
|
||||
BytecodeViewer.pingback = Boolean.parseBoolean(DiskReader.loadString(BytecodeViewer.settingsName, 108, false));
|
||||
} catch(Exception e) {
|
||||
//ignore because errors are expected, first start up and outdated settings.
|
||||
e.printStackTrace();
|
||||
//e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -486,6 +486,7 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier {
|
|||
public final ButtonGroup panelGroup2 = new ButtonGroup();
|
||||
public final ButtonGroup panelGroup3 = new ButtonGroup();
|
||||
private final JMenuItem mntmSetOpitonalLibrary = new JMenuItem("Set Optionial Library Folder");
|
||||
private final JMenuItem mntmPingback = new JMenuItem("Pingback");
|
||||
public MainViewerGUI() {
|
||||
mnNewMenu_5.setVisible(false);
|
||||
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new Test());
|
||||
|
@ -1049,6 +1050,13 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier {
|
|||
}
|
||||
}
|
||||
});
|
||||
mntmPingback.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
BytecodeViewer.pingback();
|
||||
}
|
||||
});
|
||||
|
||||
mnNewMenu.add(mntmPingback);
|
||||
mnNewMenu.add(mntmExit);
|
||||
|
||||
menuBar.add(mnNewMenu_6);
|
||||
|
|
|
@ -41,6 +41,7 @@ public class TabbedPane extends JPanel {
|
|||
public TabbedPane(String name, final JTabbedPane pane) {
|
||||
// unset default FlowLayout' gaps
|
||||
super(new FlowLayout(FlowLayout.LEFT, 0, 0));
|
||||
|
||||
if (pane == null)
|
||||
throw new NullPointerException("TabbedPane is null");
|
||||
|
||||
|
|
Loading…
Reference in a new issue