dEEpEst Posted June 24, 2014 Share Posted June 24, 2014 [HIDE-THANKS][LENGUAJE=java]/* * @Author: Mr_NiceGuy */ import java.security.*; import java.util.*; public class BruteForcer implements Runnable{ public static String currentCombo; public static String encryptedCombo; public static String encryptedWord; public static int wordLength; public static int char1, char2, char3, char4, char5; public static char Char[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; public BruteForcer() {} public void run() { Scanner sc = new Scanner(System.in); System.out.println("Encrypted Word:"); encryptedWord = sc.nextLine(); resetChars(); wordLength = 1; Decrypt(encryptedWord); } public static boolean compareDigestedMsg(String s1, String s2) { if(s1.contains(s2)) return true; else return false; } public static void resetChars() { char1 = 0; char2 = 0; char3 = 0; char4 = 0; char5 = 0; } public static String DigestMsg(String s) { byte[] defaultBytes = s.getBytes(); try { MessageDigest algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(defaultBytes); byte messageDigest[] = algorithm.digest(); StringBuffer hexString = new StringBuffer(); for (int i = 0; i hexString.append(Integer.toHexString(0xFF & messageDigest)); } s = hexString + ""; } catch(NoSuchAlgorithmException e) { e.printStackTrace(); } return s; } public static void Decrypt(String s) { int i = 0; switch(wordLength) { case 1: for(i = 0; i currentCombo = "" + Char; if(compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[MATCH FOUND!] Combonation: " + currentCombo); wordLength = 1; break; } } if(!compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[WORD LENGTH: " + wordLength + "] has been processed: NO MATCHES!"); wordLength++; Decrypt(encryptedWord); } break; case 2: resetChars(); for(i = 0; i char2 = i % 62; if(char2 == 0) { if(i > 0) char1++; } currentCombo = "" + Char[char1] + Char[char2]; if(compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[MATCH FOUND!] Combonation: " + currentCombo); wordLength = 1; break; } } if(!compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[WORD LENGTH: " + wordLength + "] has been processed: NO MATCHES!"); wordLength++; Decrypt(encryptedWord); } break; case 3: resetChars(); for(i = 0; i char3 = i % 62; if(char3 == 0) { if(i > 0) { if(char2 char2++; if(Char[char2] == '9' && Char[char1] != '9') char1++; } else { char2 = 0; } } } currentCombo = "" + Char[char1] + Char[char2] + Char[char3]; if(compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[MATCH FOUND!] Combonation: " + currentCombo); wordLength = 1; break; } } if(!compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[WORD LENGTH: " + wordLength + "] has been processed: NO MATCHES!"); wordLength++; Decrypt(encryptedWord); } break; case 4: resetChars(); for(i = 0; i char4 = i % 62; if(char4 == 0) { if(i > 0) { if(char3 char3++; if(Char[char2] == '9') char2 = 0; if(Char[char3] == '9' && Char[char2] != '9') char2++; if(Char[char2] == '9' && Char[char1] != '9') char1++; } else { char3 = 0; } } } currentCombo = "" + Char[char1] + Char[char2] + Char[char3] + Char[char4]; if(compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[MATCH FOUND!] Combonation: " + currentCombo); wordLength = 1; break; } } if(!compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[WORD LENGTH: " + wordLength + "] has been processed: NO MATCHES!"); wordLength++; Decrypt(encryptedWord); } break; case 5: resetChars(); for(i = 0; i char5 = i % 62; if(char5 == 0) { if(i > 0) { if(char4 char4++; if(Char[char2] == '9') char2 = 0; if(Char[char3] == '9') char3 = 0; if(Char[char4] == '9' && Char[char3] != '9') char3++; if(Char[char3] == '9' && Char[char2] != '9') char2++; if(Char[char2] == '9' && Char[char1] != '9') char1++; } else { char4 = 0; } } } currentCombo = "" + Char[char1] + Char[char2] + Char[char3] + Char[char4]; if(compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[MATCH FOUND!] Combonation: " + currentCombo); wordLength = 1; break; } } if(!compareDigestedMsg(s, DigestMsg(currentCombo))) { System.out.println("[WORD LENGTH: " + wordLength + "] has been processed: NO MATCHES!"); wordLength++; Decrypt(encryptedWord); } break; } } public static void main(String[] args) { BruteForcer bf = new BruteForcer(); new Thread(bf).start(); while(true) {} } } [/LENGUAJE][/HIDE-THANKS] Link to comment Share on other sites More sharing options...
Recommended Posts