You last visited: Today at 16:35
Advertisement
Minecraft Session Generator
Discussion on Minecraft Session Generator within the Minecraft Mods, Textures, Skins & Maps forum part of the Minecraft category.
11/24/2013, 00:04
#1
elite*gold: 0
Join Date: Jul 2009
Posts: 1,378
Received Thanks: 232
Minecraft Session Generator
Hallöchen
Da ich gerade Langeweile hatte, habe ich angefangen in Java einen Minecraft Launcher zu machen. Dafür braucht man natürlich auch die PlayerUUID und den AccessToken, um zu verifizieren das man Premium hat. Ich habe für euch mal ein kleines Tool dafür gemacht. (Source Code vorhanden!) Es ist Kompatibel mit allen jetzigen Versionen!
Es ist euch erlaubt dieses Tool zu decompilen, weil es ja euer Passwort abfragt...
Und niemand gibt ja einfach so, irgend wo sein Passwort ein...
Changelog:
Build 018:
•GUI!
•Text wird in einer TextArea angezeigt
•Text ist somit Kopierbar!
Build 012:
•Auf das neue System umgestiegen (Yggdrasil)
•6 dazu benötigte Libraries hinzugefügt
Source:
Code:
package de.dakeksy.launcher;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.Proxy;
import java.util.UUID;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.mojang.authlib.Agent;
import com.mojang.authlib.UserAuthentication;
import com.mojang.authlib.exceptions.AuthenticationException;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
import com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication;
import javax.swing.GroupLayout.Alignment;
import javax.swing.GroupLayout;
import javax.swing.LayoutStyle.ComponentPlacement;
public class Launcher extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
public static UserAuthentication auth = new YggdrasilUserAuthentication(
new YggdrasilAuthenticationService(Proxy.NO_PROXY, UUID
.randomUUID().toString()), Agent.MINECRAFT);
public static JButton btnLogin = new javax.swing.JButton();
public static JTextField tfUsername = new javax.swing.JTextField();
public static JPasswordField jpwPasswordField = new javax.swing.JPasswordField();
public static JLabel lbUsername = new javax.swing.JLabel();
public static JLabel lbPassword = new javax.swing.JLabel();
public static JTextArea taTextArea = new javax.swing.JTextArea();
/**
* Creates new form Window
*/
public Launcher() {
initComponents();
}
public static void main(String args[]) {
startIt();
}
public void doLogin() {
String uname = tfUsername.getText();
String pfield = jpwPasswordField.getText();
// System.out.println(uname);
// System.out.println(pfield);
auth.setUsername(uname);
auth.setPassword(pfield);
try{
auth.logIn();
} catch (AuthenticationException e){
e.printStackTrace();
}
String playerUUID = auth.getSelectedProfile().getId();
String accessToken = auth.getAuthenticatedToken();
String userName = auth.getSelectedProfile().getName();
printInTextArea(playerUUID, accessToken, userName);
}
public void printInTextArea(String pid, String at, String un){
taTextArea.setText("playerUUID: " + pid + "\naccessToken: " + at + "\nUsername: " + un);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnLogin) {
doLogin();
}
}
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
btnLogin.setText("Login");
btnLogin.addActionListener(this);
tfUsername.setText("Username");
jpwPasswordField.setText("Passwort");
lbUsername.setText("Username:");
lbPassword.setText("Passwort:");
taTextArea.setColumns(20);
taTextArea.setRows(5);
taTextArea.setEditable(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
layout.setHorizontalGroup(
layout.createParallelGroup(Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(Alignment.LEADING)
.addComponent(lbUsername)
.addComponent(tfUsername, GroupLayout.PREFERRED_SIZE, 124, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(layout.createParallelGroup(Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jpwPasswordField, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnLogin))
.addComponent(lbPassword)))
.addComponent(taTextArea, Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 324, GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(taTextArea, GroupLayout.PREFERRED_SIZE, 238, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(Alignment.BASELINE)
.addComponent(lbUsername)
.addComponent(lbPassword))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(Alignment.BASELINE)
.addComponent(jpwPasswordField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(btnLogin)
.addComponent(tfUsername, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
getContentPane().setLayout(layout);
pack();
}
public static void startIt() {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager
.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Launcher.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Launcher.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Launcher.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Launcher.class.getName()).log(
java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Launcher().setVisible(true);
}
});
}
}
Virustotal:
Session Generator -Unrar Me-.rar :
SessionGeneratorBuild018.jar :
Download:
Falls ihr noch Fragen, Wünsche oder Sonstiges habt: Immer her damit!
Attached Files
Session Generator -Unrar Me-.rar
(2.57 MB, 23 views)
11/24/2013, 01:06
#2
elite*gold: 558
Join Date: Feb 2010
Posts: 6,549
Received Thanks: 1,418
Zwei Sachen dazu:
version ist nicht die Minecraftversion, sondern die Launcherversion. Der "aktuelle" (oder viel eher alte) Launcher ist Version 13, letztendlich ist das aber egal. Jede Zahl ab 12 wird angenommen und alles darunter bekommt nur die Meldung "Old version".
Das Authentifizierungssystem, auf welches du zurück greifst, ist seit Minecraft 1.6 und dem neuen Launcher veraltet.
Ich kann mich irren, aber es sollte eigentlich nicht möglich sein Minecraft 1.6+ mit dieser SessionID so zu starten, dass man auf Premium-Server kommt. Bei allen älteren Versionen sollte das aber gehen.
Wenn du wirlich Version 1.6+ unterstützen willst, musst du das neue Authentifizierungssystem einbinden, und ich kann dir sagen, das ist nicht so einfach.
11/24/2013, 01:22
#3
elite*gold: 0
Join Date: Jul 2009
Posts: 1,378
Received Thanks: 232
Quote:
Originally Posted by
ComputerBaer
Zwei Sachen dazu:
version ist nicht die Minecraftversion, sondern die Launcherversion. Der "aktuelle" (oder viel eher alte) Launcher ist Version 13, letztendlich ist das aber egal. Jede Zahl ab 12 wird angenommen und alles darunter bekommt nur die Meldung "Old version".
Das Authentifizierungssystem, auf welches du zurück greifst, ist seit Minecraft 1.6 und dem neuen Launcher veraltet.
Ich kann mich irren, aber es sollte eigentlich nicht möglich sein Minecraft 1.6+ mit dieser SessionID so zu starten, dass man auf Premium-Server kommt. Bei allen älteren Versionen sollte das aber gehen.
Wenn du wirlich Version 1.6+ unterstützen willst, musst du das neue Authentifizierungssystem einbinden, und ich kann dir sagen, das ist nicht so einfach.
Zum 1.) Habe ich gerade ne neue Version eingefügt, wurde mir auch eben bewusst
Zu 2.) Bin gerade nochmal alles durchgegangen, hast Recht
. Werde mir mal bisschen das JSON System anschauen und dann evtl. nen Update reinmachen. (Falls es dann noch geht <.<)
01/03/2014, 01:13
#4
elite*gold: 0
Join Date: Jul 2009
Posts: 1,378
Received Thanks: 232
So, es ist jetzt auf das neue System (Yggdrasil) geupdated!
Hat ja auch lange genug gedauert, bis ich gemerkt habe, das Mojang dafür ne API gemacht hat <.<.
Mfg. .Elektro.
01/03/2014, 10:37
#5
elite*gold: 0
Join Date: Jan 2014
Posts: 3
Received Thanks: 0
Dumme Frage aber... was macht dieses Tool genau?
01/03/2014, 10:55
#6
elite*gold: 0
Join Date: Jul 2009
Posts: 1,378
Received Thanks: 232
Quote:
Originally Posted by
lTRGl
Dumme Frage aber... was macht dieses Tool genau?
Quote:
Dafür braucht man natürlich auch die PlayerUUID und den AccessToken, um zu verifizieren das man Premium hat
Die Session für Minecraft...
01/06/2014, 20:52
#7
elite*gold: 0
Join Date: Jul 2009
Posts: 1,378
Received Thanks: 232
#Update!
Jetzt mit GUI und kopierberen Text!
All times are GMT +2. The time now is 16:35 .