Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.56 KB | None | 0 0
  1. package fr.procyx.mc.launcher.iyc;
  2.  
  3. import com.google.gson.JsonObject;
  4. import fr.procyx.cyxapi.DebugSystem;
  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. import java.io.InputStreamReader;
  8. import java.io.OutputStream;
  9. import java.io.PrintStream;
  10. import java.net.HttpURLConnection;
  11. import java.net.URL;
  12. import java.net.URLConnection;
  13. import java.security.MessageDigest;
  14. import java.security.NoSuchAlgorithmException;
  15. import javafx.application.Application;
  16. import javafx.collections.ObservableList;
  17. import javafx.event.ActionEvent;
  18. import javafx.event.EventHandler;
  19. import javafx.scene.Node;
  20. import javafx.scene.Scene;
  21. import javafx.scene.control.Button;
  22. import javafx.scene.control.CheckBox;
  23. import javafx.scene.control.PasswordField;
  24. import javafx.scene.control.TextField;
  25. import javafx.scene.image.ImageView;
  26. import javafx.scene.input.MouseEvent;
  27. import javafx.scene.input.PickResult;
  28. import javafx.scene.layout.Pane;
  29. import javafx.stage.Stage;
  30. import javafx.stage.StageStyle;
  31. import javax.swing.JFrame;
  32. import javax.swing.JTextArea;
  33.  
  34. public final class IycLauncher extends Application
  35. {
  36.   private static final String FX_TRANSPARENT = "-fx-background-color: transparent;";
  37.  
  38.   public static void main(String[] args)
  39.   {
  40.     launch(args);
  41.   }
  42.  
  43.   public void start(Stage s) throws Exception
  44.   {
  45.     initDebuger();
  46.  
  47.     Pane pane = new Pane();
  48.     ImageView imgv = JavaFxUtils.getInstance().getImageView("bg.png");
  49.     Button exit = new Button();
  50.     exit.setPrefWidth(30.0D);
  51.     exit.setPrefHeight(30.0D);
  52.     exit.setStyle("-fx-background-color: transparent;");
  53.     exit.relocate(370.0D, 0.0D);
  54.  
  55.     Button back = new Button();
  56.     back.setPrefWidth(30.0D);
  57.     back.setPrefHeight(30.0D);
  58.     back.setStyle("-fx-background-color: transparent;");
  59.     back.relocate(340.0D, 0.0D);
  60.  
  61.     Button co = new Button();
  62.     co.setPrefWidth(200.0D);
  63.     co.setPrefHeight(50.0D);
  64.     co.setStyle("-fx-background-color: transparent;");
  65.     co.relocate(100.0D, 370.0D);
  66.  
  67.     TextField user = new TextField();
  68.     user.relocate(100.0D, 195.0D);
  69.     user.setPrefWidth(200.0D);
  70.     user.setStyle("-fx-background-color: transparent; -fx-text-fill: white; -fx-text-alignment: center;");
  71.     user.setPrefHeight(20.0D);
  72.     user.setFont(JavaFxUtils.getInstance().getFont("seguiemj.ttf", 15.0D));
  73.  
  74.     PasswordField pass = new PasswordField();
  75.     pass.relocate(100.0D, 268.0D);
  76.     pass.setPrefWidth(200.0D);
  77.     pass.setStyle("-fx-background-color: transparent; -fx-text-fill: white; -fx-text-alignment: center;");
  78.     pass.setPrefHeight(20.0D);
  79.  
  80.     CheckBox c = new CheckBox();
  81.     c.relocate(85.0D, 320.0D);
  82.  
  83.     s.initStyle(StageStyle.UNDECORATED);
  84.  
  85.     EventHandler myHandler = new EventHandler(exit, back, s, co, user, pass)
  86.     {
  87.       public void handle(ActionEvent event) {
  88.         if (event.getSource() == this.val$exit)
  89.           System.exit(0);
  90.         if (event.getSource() == this.val$back)
  91.           this.val$s.toBack();
  92.         if (event.getSource() == this.val$co)
  93.           IycLauncher.this.auth(this.val$user.getText(), this.val$pass.getText());
  94.       }
  95.     };
  96.     EventHandler hover = new EventHandler()
  97.     {
  98.       public void handle(MouseEvent e)
  99.       {
  100.       }
  101.     };
  102.     EventHandler exitM = new EventHandler()
  103.     {
  104.       public void handle(MouseEvent e)
  105.       {
  106.         e.getPickResult().getIntersectedNode().setStyle("-fx-background-color: transparent;");
  107.       }
  108.     };
  109.     exit.setOnAction(myHandler);
  110.     exit.addEventHandler(MouseEvent.MOUSE_EXITED, exitM);
  111.     back.setOnAction(myHandler);
  112.     back.addEventHandler(MouseEvent.MOUSE_EXITED, exitM);
  113.     co.setOnAction(myHandler);
  114.     co.addEventHandler(MouseEvent.MOUSE_ENTERED, hover);
  115.     co.addEventHandler(MouseEvent.MOUSE_EXITED, exitM);
  116.     pane.getChildren().addAll(new Node[] { imgv, exit, back, co, user, pass, c });
  117.     s.setScene(new Scene(pane));
  118.     s.sizeToScene();
  119.     s.show();
  120.   }
  121.  
  122.   private void auth(String username, String password)
  123.   {
  124.     if ((username == null) || (username.length() == 0) || (username.contains(" "))) { System.out.println("Username = malformed"); return; }
  125.     if ((password == null) || (password.length() == 0) || (password.contains(" "))) { System.out.println("Password = malformed"); return; }
  126.     System.out.println("Auth -> " + username);
  127.     System.out.println("Creating request...");
  128.     JsonObject d = new JsonObject();
  129.     d.addProperty("user", username);
  130.     System.out.println("Hash Pass -> " + stringToSha512(password));
  131.     d.addProperty("pass", stringToSha512(password));
  132.     d.addProperty("ip", "localhost");
  133.  
  134.     System.out.println("Json Request: ");
  135.     System.out.println(d.toString());
  136.  
  137.     System.out.println("Sending request...");
  138.     String response = null;
  139.     try {
  140.       response = sendHttpRequest(new URL(readToString("http://download1513.mediafire.com/d426xcc1vhmg/2k0o9szkwyxbugv/requete.txt")), d.toString());
  141.     } catch (IOException e) {
  142.       e.printStackTrace();
  143.     }
  144.  
  145.     System.out.println("Response = " + response);
  146.  
  147.     contactDownloader();
  148.   }
  149.  
  150.   private String sendHttpRequest(URL url, String content) throws IOException
  151.   {
  152.     System.out.println("Request URL -> " + url);
  153.     byte[] contentBytes = content.getBytes("UTF-8");
  154.  
  155.     URLConnection connection = url.openConnection();
  156.     connection.setDoInput(true);
  157.     connection.setDoOutput(true);
  158.     connection.setRequestProperty("Accept-Charset", "UTF-8");
  159.     connection.setRequestProperty("Content-Type", "application/json");
  160.     connection.setRequestProperty("Content-Length", Integer.toString(contentBytes.length));
  161.  
  162.     OutputStream requestStream = connection.getOutputStream();
  163.     requestStream.write(contentBytes, 0, contentBytes.length);
  164.     requestStream.close();
  165.     BufferedReader responseStream;
  166.     if (((HttpURLConnection)connection).getResponseCode() == 200)
  167.       responseStream = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
  168.     else
  169.       return null;
  170.     BufferedReader responseStream;
  171.     String response = responseStream.readLine();
  172.     responseStream.close();
  173.  
  174.     return response;
  175.   }
  176.  
  177.   private String readToString(String targetURL) throws IOException
  178.   {
  179.     URL url = new URL(targetURL);
  180.     BufferedReader bufferedReader = new BufferedReader(
  181.       new InputStreamReader(url.openStream()));
  182.  
  183.     StringBuilder stringBuilder = new StringBuilder();
  184.     String inputLine;
  185.     while ((inputLine = bufferedReader.readLine()) != null)
  186.     {
  187.       String inputLine;
  188.       stringBuilder.append(inputLine);
  189.       stringBuilder.append(System.lineSeparator());
  190.     }
  191.  
  192.     bufferedReader.close();
  193.     return stringBuilder.toString().trim();
  194.   }
  195.  
  196.   private String stringToSha512(String passwordToHash)
  197.   {
  198.     String generatedPassword = null;
  199.     try
  200.     {
  201.       MessageDigest md = MessageDigest.getInstance("SHA-512");
  202.       md.update(passwordToHash.getBytes());
  203.       byte[] bytes = md.digest();
  204.       StringBuilder sb = new StringBuilder();
  205.       for (int i = 0; i < bytes.length; i++) {
  206.         sb.append(Integer.toString((bytes[i] & 0xFF) + 256, 16).substring(1));
  207.       }
  208.       generatedPassword = sb.toString();
  209.     } catch (NoSuchAlgorithmException e) {
  210.       e.printStackTrace();
  211.     }return generatedPassword;
  212.   }
  213.  
  214.   private void initDebuger()
  215.   {
  216.     JFrame debug = new JFrame();
  217.     debug.setSize(500, 500);
  218.     JTextArea a = new JTextArea();
  219.     System.setOut(new PrintStream(new DebugSystem(a)));
  220.     debug.add(a);
  221.     debug.setVisible(true);
  222.     System.out.println("IYC Debuger - Inititalized");
  223.   }
  224.  
  225.   private void contactDownloader()
  226.   {
  227.   }
  228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement