This commit is contained in:
sirjonasxx 2018-04-04 17:08:24 +02:00
parent a18256640e
commit 47e6d8596e
11 changed files with 22 additions and 101 deletions

View File

@ -4,7 +4,7 @@ import java.io.*;
import java.nio.file.Files;
import java.util.*;
public class FlashClient {
public class HabboClient {
private static final String[] potentialProcessNames = {"--ppapi-flash-args", "plugin-container"};
@ -14,9 +14,9 @@ public class FlashClient {
private static final boolean DEBUG = false;
public static FlashClient create() {
public static HabboClient create() {
File folder = new File("/proc");
FlashClient client = null;
HabboClient client = null;
do {
File[] fileList = folder.listFiles();
@ -31,7 +31,7 @@ public class FlashClient {
}
}
if (isHabboProcess) {
client = new FlashClient();
client = new HabboClient();
client.PID = Integer.parseInt(file.getName());
client.maps = new ArrayList<>();
}

View File

@ -1,14 +1,10 @@
package main.protocol.memory;
import javafx.application.Platform;
import main.protocol.HPacket;
import main.protocol.crypto.RC4;
import main.protocol.packethandler.BufferListener;
import main.protocol.packethandler.IncomingHandler;
import main.protocol.packethandler.OutgoingHandler;
import main.protocol.memory.FlashClient;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
@ -16,12 +12,12 @@ public class Rc4Obtainer {
public static final boolean DEBUG = false;
FlashClient client = null;
HabboClient client = null;
OutgoingHandler outgoingHandler = null;
IncomingHandler incomingHandler = null;
public Rc4Obtainer() {
client = FlashClient.create();
client = HabboClient.create();
}
@ -187,7 +183,6 @@ public class Rc4Obtainer {
}).start();
}
private List<MemorySnippet> searchForPossibleRC4Tables(List<MemorySnippet> snippets) {
List<MemorySnippet> result;
result = client.differentiate2(snippets, ((addedBytes * 2) / 3), addedBytes * 2, 1028);
@ -196,13 +191,6 @@ public class Rc4Obtainer {
return result;
}
private void printBooleanArray(boolean[] booleans) {
StringBuilder builder = new StringBuilder();
for (boolean bool : booleans) {
builder.append(bool ? "1" : "0");
}
System.out.println(builder);
}
private void printByteArray(byte[] booleans) {
StringBuilder builder = new StringBuilder();
for (byte bool : booleans) {
@ -226,65 +214,4 @@ public class Rc4Obtainer {
}
}
// System.out.println("[+] receive pubkey");
// incomingHandler.block();
// client.pauseProcess();
// fullmemorybeforekey = client.createMemorySnippetList();
// client.fetchMemory(fullmemorybeforekey);
// System.out.println("[-] receive pubkey");
// incomingHandler.unblock();
// client.resumeProcess();
// client.pauseProcess();
//
// client.refreshMemoryMaps();
// List<String> result = client.findSharedKey2();
// System.out.println("result size: "+ result);
//
// client.resumeProcess();
// System.out.println("[+] send encrypted");
// client.pauseProcess();
// client.updateMapLocationsSnippetList(fullmemorybeforekey);
//
// List<FlashClient.MemorySnippet> diff = client.differentiate(fullmemorybeforekey, true, 54);
//
// List<String> results = client.findSharedKey(diff);
// System.out.println("results: " +results.size());
// for (String s : results) {
// System.out.println(s);
// }
// System.out.println("[-] send encrypted");
// client.resumeProcess();
// payloadBuffer.push(buffer);
// buffer = new byte[]{};
// tempBlockIncoming = true;
// client = FlashClient.create();
// client.pauseProcess();
// fullmemoryb4publickey = client.createMemorySnippetList();
// client.fetchMemory(fullmemoryb4publickey);
// client.resumeProcess();
// if (!doneFlash) {
// tempBlockEncrypted = true;
// FlashClient client = IncomingHandler.client;
// List<FlashClient.MemorySnippet> mem = IncomingHandler.fullmemoryb4publickey;
// client.pauseProcess();
// client.updateMapLocationsSnippetList(mem);
// List<FlashClient.MemorySnippet> diff = client.differentiate(mem, true, 54);
// IncomingHandler.fullmemoryb4publickey = null;
// List<String> results = client.findSharedKey(diff);
// System.out.println("results: " +results.size());
// for (String s : results) {
// System.out.println(s);
// }
// client.resumeProcess();
// tempBlockEncrypted = false;
// IncomingHandler.tempBlockIncoming = false;
// doneFlash = true;
// }
}

View File

@ -1,28 +1,22 @@
package main.ui;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import main.protocol.HConnection;
import main.ui.connection.ConnectionForm;
import main.ui.injection.InjectionForm;
import main.ui.logger.LoggerForm;
import main.ui.tools.ToolsForm;
import java.awt.*;
import main.ui.connection.Connection;
import main.ui.injection.Injection;
import main.ui.logger.Logger;
import main.ui.tools.Tools;
public class GEarthController {
private Stage stage = null;
private volatile HConnection hConnection;
public ConnectionForm connectionController;
public InjectionForm injectionController;
public LoggerForm loggerController;
public ToolsForm toolsController;
public Connection connectionController;
public Injection injectionController;
public Logger loggerController;
public Tools toolsController;
public Pane mover;
public GEarthController() {

View File

@ -10,7 +10,7 @@
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.text.Font?>
<GridPane alignment="CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.connection.ConnectionForm">
<GridPane alignment="CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.connection.Connection">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>

View File

@ -16,7 +16,7 @@ import main.ui.SubForm;
import java.io.IOException;
public class ConnectionForm extends SubForm {
public class Connection extends SubForm {
public ComboBox<String> inpPort;
public ComboBox<String> inpHost;

View File

@ -9,7 +9,7 @@
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.injection.InjectionForm">
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.injection.Injection">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>

View File

@ -11,7 +11,7 @@ import main.protocol.HConnection;
import main.protocol.HPacket;
import main.ui.SubForm;
public class InjectionForm extends SubForm {
public class Injection extends SubForm {
public TextArea inputPacket;
public Text lbl_corrruption;
public Text lbl_pcktInfo;

View File

@ -12,7 +12,7 @@
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.TextFlow?>
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.logger.LoggerForm">
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.logger.Logger">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="293.0" minWidth="10.0" prefWidth="242.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="323.0" />

View File

@ -17,7 +17,7 @@ import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
public class LoggerForm extends SubForm {
public class Logger extends SubForm {
public TextField txtPacketLimit;

View File

@ -10,7 +10,7 @@
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.text.Font?>
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.tools.ToolsForm">
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.tools.Tools">
<rowConstraints>
<RowConstraints maxHeight="158.0" minHeight="10.0" prefHeight="134.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="141.0" minHeight="10.0" prefHeight="128.0" vgrow="SOMETIMES" />

View File

@ -13,7 +13,7 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder;
public class ToolsForm extends SubForm {
public class Tools extends SubForm {
public TextField txt_intDecoded;
public TextField txt_intEncoded;
public TextField txt_ushortDecoded;