Olivki

Osu! Decryption

Mar 15th, 2014
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.64 KB | None | 0 0
  1. package se.proxus;
  2.  
  3. import java.awt.image.BufferedImage;
  4. import java.io.BufferedReader;
  5. import java.io.ByteArrayInputStream;
  6. import java.io.File;
  7. import java.io.FileNotFoundException;
  8. import java.io.FileReader;
  9. import java.io.IOException;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. import java.util.Scanner;
  13.  
  14. import javax.imageio.ImageIO;
  15.  
  16. import org.apache.commons.codec.binary.Base64;
  17.  
  18. public class Main {
  19.  
  20.     public static void main(String[] args) {
  21.         System.out.println("Yes hello, we're going to be decoding this file like it's fucking new years eve, biatch.");
  22.         /*try {
  23.             saveImage(decodeToImage(readFile("F:/Oliver/Misc/kony.txt")));
  24.         } catch (IOException e) {
  25.             e.printStackTrace();
  26.         }*/
  27.         try {
  28.             for (String data : getNameAndEncryption("F:/Oliver/Misc/osu.txt")) {
  29.                 //System.out.println(data);
  30.                 String[] konyfy = data.split(":§:");
  31.                 saveImage(decodeToImage(konyfy[1]), "F:/Oliver/Misc/osu decrypted images/" + konyfy[0]);
  32.             }
  33.         } catch (Exception e) {
  34.             e.printStackTrace();
  35.         }
  36.         System.out.println("Wow, you did it, good job!");
  37.     }
  38.  
  39.     public static BufferedImage decodeToImage(String imageString) {
  40.         BufferedImage image = null;
  41.         byte[] imageByte;
  42.         try {
  43.             imageByte = Base64.decodeBase64(imageString);
  44.             ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
  45.             image = ImageIO.read(bis);
  46.             bis.close();
  47.         } catch (Exception e) {
  48.             e.printStackTrace();
  49.         }
  50.         return image;
  51.     }
  52.  
  53.     public static File saveImage(BufferedImage bufferedImage, String fileName) {
  54.         File outputfile = new File(fileName + ".png");
  55.         try {
  56.             ImageIO.write(bufferedImage, "png", outputfile);
  57.         } catch (IOException e) {
  58.             e.printStackTrace();
  59.         }
  60.         return outputfile;
  61.     }
  62.  
  63.     public static String readFile(String file) throws IOException {
  64.         BufferedReader br = new BufferedReader(new FileReader(file));
  65.         String everything = "";
  66.         try {
  67.             StringBuilder sb = new StringBuilder();
  68.             String line = br.readLine();
  69.  
  70.             while (line != null) {
  71.                 sb.append(line);
  72.                 line = br.readLine();
  73.             }
  74.             everything = sb.toString();
  75.         } finally {
  76.             br.close();
  77.         }
  78.         return everything;
  79.     }
  80.  
  81.     public static ArrayList<String> getNameAndEncryption(String fileName) {
  82.         File file = new File(fileName);
  83.         String line = "";
  84.         ArrayList<String> testArray = new ArrayList<String>();
  85.         String swag = "";
  86.         boolean canGo = false;
  87.         List<String> tempArray = new ArrayList<String>();
  88.         if (file.exists()) {
  89.             BufferedReader fileReader;
  90.             try {
  91.                 fileReader = new BufferedReader(new FileReader(file));
  92.                 try {
  93.                     while ((line = fileReader.readLine()) != null) {
  94.                         if (line.startsWith("  <data name=")) {
  95.                             swag = line.split("\"")[1] + ":§:";
  96.                         }
  97.                         /*if (line.startsWith("    <value>") && !line.contains("microsoft") && !line.contains("2.0</value>") && !line.contains("<value>System.Resources")) {
  98.                         String swell = line + "\r\n";
  99.                         List<String> tempArray = new ArrayList<String>();
  100.                         swag = swag + ":§:" + swell.replace("        ", "");
  101.                     }*/
  102.                         if (line.startsWith("        ")) {
  103.                             tempArray.add(line.split("        ")[1]);
  104.                         } if (line.equals("</value>"))
  105.                             canGo = true;
  106.                         if (canGo) {
  107.                             swag = swag + tempArray.toString().replace(", ", "").replace("[", "").replace("]", "");
  108.                         }
  109.                         if (!testArray.contains(swag) && canGo) {
  110.                             testArray.add(swag);
  111.                             tempArray.clear();
  112.                             canGo = false;
  113.                         }
  114.                     }
  115.                     fileReader.close();
  116.                 } catch (Exception exception) {
  117.                     exception.printStackTrace();
  118.                 }
  119.             } catch (FileNotFoundException e) {
  120.                 e.printStackTrace();
  121.             }
  122.         }
  123.         return testArray;
  124.     }
  125. }
Add Comment
Please, Sign In to add comment