package W; import bH.X; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.util.logging.Level; import java.util.logging.Logger; import java.util.zip.CRC32; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class IOInWPackage { private String d = "F8EK54DI5JFU2JF,HG3BF9GBDF84BASXS"; static String a = "Some text, try this out for size"; private static String e = null; private static char[] f = new char[] { 'E', 'F', 'I', 'A', 'K', 'e', 'y', '!', '2', '9', '8', '4', '5', '3', '4', '6' }; static int b = 300; static int c = 1; public void a(File paramFile1, File paramFile2, String paramString) { String str2; if (!paramFile1.exists()) throw new FileNotFoundException("Can not find input file: " + paramFile1.getAbsolutePath()); byte[] arrayOfByte1 = d.a(paramFile1); try { arrayOfByte2 = c(arrayOfByte1, paramString); } catch (Exception exception) { exception.printStackTrace(); throw new IOException("Failed to decrypt file; " + exception.getMessage()); } if (paramString == null) paramString = ""; byte[] arrayOfByte2 = a(paramString, arrayOfByte2); try { arrayOfByte3 = c(arrayOfByte2, null); } catch (Exception exception) { exception.printStackTrace(); throw new IOException("Failed to decrypt file; " + exception.getMessage()); } String str1 = z.a(paramFile1); double d = z.c(paramFile1); if (d > 0.0D) { str2 = "EFIAPP\nversion:" + c + "\nsignature = " + str1 + "\niniVersion=" + d + "\n"; } else { str2 = "EFIAPP\nversion:" + c + "\nsignature = " + str1 + "\n"; } byte[] arrayOfByte3 = a(str2, arrayOfByte3); d.a(paramFile2, arrayOfByte3); } public byte[] a(byte[] paramArrayOfbyte, String paramString) { String str = b(paramArrayOfbyte); double d = a(paramArrayOfbyte); return a(paramArrayOfbyte, paramString, str, d); } public byte[] a(byte[] paramArrayOfbyte, String paramString1, String paramString2, double paramDouble) { byte[] arrayOfByte2; String str; try { arrayOfByte1 = c(paramArrayOfbyte, paramString1); } catch (Exception exception) { exception.printStackTrace(); throw new IOException("Failed to decrypt file; " + exception.getMessage()); } if (paramString1 == null) paramString1 = ""; byte[] arrayOfByte1 = a(paramString1, arrayOfByte1); try { arrayOfByte2 = c(arrayOfByte1, null); } catch (Exception exception) { exception.printStackTrace(); throw new IOException("Failed to decrypt file; " + exception.getMessage()); } if (paramDouble > 0.0D) { str = "EFIAPP\nversion:" + c + "\nsignature = \"" + paramString2 + "\"\niniVersion=" + paramDouble + "\n"; } else { str = "EFIAPP\nversion:" + c + "\nsignature = \"" + paramString2 + "\"\n"; } return a(str, arrayOfByte2); } public void a(byte[] paramArrayOfbyte, File paramFile, String paramString1, String paramString2, double paramDouble) { byte[] arrayOfByte = a(paramArrayOfbyte, paramString1, paramString2, paramDouble); d.a(paramFile, arrayOfByte); } private String b(byte[] paramArrayOfbyte) { BufferedReader bufferedReader = null; try { String str1 = null; bufferedReader = c(paramArrayOfbyte); String str2 = ""; while ((str2 = bufferedReader.readLine()) != null) { if (!str2.startsWith(" 2000) { arrayOfByte = new byte[2000]; System.arraycopy(paramArrayOfbyte, 0, arrayOfByte, 0, arrayOfByte.length); } else { arrayOfByte = paramArrayOfbyte; } return new BufferedReader(new StringReader(new String(arrayOfByte))); } public byte[] a(File paramFile) { try { return a(paramFile, true, (String)null); } catch (aj aj) { Logger.getLogger(ak.class.getName()).log(Level.SEVERE, (String)null, aj); throw new IOException("Error Decrypting File"); } } public byte[] a(File paramFile, String paramString) { return a(paramFile, false, paramString); } private byte[] a(File paramFile, boolean paramBoolean, String paramString) { if (!paramFile.exists()) throw new FileNotFoundException("Can not find input file: " + paramFile.getAbsolutePath()); try { byte[] arrayOfByte = d.a(paramFile); return a(arrayOfByte, paramBoolean, paramString); } catch (FileNotFoundException fileNotFoundException) { throw fileNotFoundException; } catch (IOException iOException) { throw iOException; } } public byte[] b(byte[] paramArrayOfbyte, String paramString) { return a(paramArrayOfbyte, false, paramString); } private byte[] a(byte[] paramArrayOfbyte, boolean paramBoolean, String paramString) { try { byte[] arrayOfByte1; byte[] arrayOfByte2; al al1 = d(paramArrayOfbyte); try { arrayOfByte1 = d(al1.b(), null); } catch (Exception exception) { throw new IOException("Failed to decrypt file; " + exception.getMessage()); } al al2 = d(arrayOfByte1); if (paramBoolean && paramString == null) paramString = al2.a(); try { arrayOfByte2 = d(al2.b(), paramString); } catch (aj aj) { throw aj; } catch (Exception exception) { exception.printStackTrace(); throw new IOException("Failed to decrypt file; " + exception.getMessage()); } return arrayOfByte2; } catch (FileNotFoundException fileNotFoundException) { throw fileNotFoundException; } catch (IOException iOException) { throw iOException; } catch (aj aj) { throw aj; } catch (Exception exception) { exception.printStackTrace(); throw new IOException("Failed to parse data properly. " + exception.getMessage()); } } private byte[] a(String paramString, byte[] paramArrayOfbyte) { byte[] arrayOfByte1 = new byte[paramArrayOfbyte.length + b]; byte[] arrayOfByte2 = paramString.getBytes("UTF-8"); System.arraycopy(arrayOfByte2, 0, arrayOfByte1, 0, arrayOfByte2.length); System.arraycopy(paramArrayOfbyte, 0, arrayOfByte1, b, paramArrayOfbyte.length); return arrayOfByte1; } private al d(byte[] paramArrayOfbyte) { byte[] arrayOfByte1 = new byte[b]; System.arraycopy(paramArrayOfbyte, 0, arrayOfByte1, 0, arrayOfByte1.length); byte[] arrayOfByte2 = new byte[paramArrayOfbyte.length - b]; System.arraycopy(paramArrayOfbyte, b, arrayOfByte2, 0, arrayOfByte2.length); al al = new al(this); String str = X.a(arrayOfByte1); al.a(str); al.a(arrayOfByte2); return al; } private byte[] c(byte[] paramArrayOfbyte, String paramString) { String str = a(paramString); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec secretKeySpec = new SecretKeySpec(str.getBytes("UTF-8"), "AES"); cipher.init(1, secretKeySpec, new IvParameterSpec("WWWWWWWWWXXXXXXX".getBytes("UTF-8"))); return cipher.doFinal(paramArrayOfbyte); } private byte[] d(byte[] paramArrayOfbyte, String paramString) { String str = a(paramString); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec secretKeySpec = new SecretKeySpec(str.getBytes("UTF-8"), "AES"); cipher.init(2, secretKeySpec, new IvParameterSpec("WWWWWWWWWXXXXXXX".getBytes("UTF-8"))); try { return cipher.doFinal(paramArrayOfbyte); } catch (IllegalBlockSizeException illegalBlockSizeException) { throw new aj("Invalid Password"); } catch (BadPaddingException badPaddingException) { throw new aj("Invalid Password"); } } private String a(String paramString) { String str = a(); if (paramString != null) { CRC32 cRC32 = new CRC32(); cRC32.update(paramString.getBytes("UTF-8")); paramString = Long.toHexString(cRC32.getValue()) + paramString; if (paramString.length() > 16) { paramString = paramString.substring(0, 16); } else { paramString = paramString + a().substring(paramString.length()); } str = paramString; } return str; } public static boolean b(File paramFile) { BufferedReader bufferedReader = null; try { FileInputStream fileInputStream = new FileInputStream(paramFile); bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream, "UTF-8")); String str = bufferedReader.readLine(); return str.equals("EFIAPP"); } catch (Exception exception) { return false; } finally { if (bufferedReader != null) try { bufferedReader.close(); } catch (IOException iOException) { Logger.getLogger(ak.class.getName()).log(Level.SEVERE, (String)null, iOException); } } } private String a() { if (e == null) e = new String(f); return e; } public static void a(char[] paramArrayOfchar) { f = paramArrayOfchar; } } /* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/W/ak.class * Java compiler version: 8 (52.0) * JD-Core Version: 1.1.3 */