-
Автор темы
- #1
Всем сваги за 5 минут наклипал эмулятор сервера ака спуф сабки
Java:
package lrx.emulator;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.Executors;
public class Emulator {
public static void main(String[] args) {
System.out.println("Spoof sub");
//UserData spoof
Executors.newSingleThreadExecutor().submit(() -> {
while (true) {
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println("[emulator] Wait connect...");
Socket connection = serverSocket.accept();
DataInputStream input = new DataInputStream(connection.getInputStream());
DataOutputStream output = new DataOutputStream(connection.getOutputStream());
System.out.println("[emulator] Client connection");
while (connection.isConnected() && !connection.isClosed()) {
if (input.available() > 0) {
byte[] bytes = new byte[2048];
int bytes_count = input.read(bytes);
System.out.println("[emulator] reversed " + bytes_count + " bytes of client");
byte[] usernameBytes = "Lorox".getBytes(StandardCharsets.UTF_8);
byte[] dateBytes = "05.05.4040".getBytes(StandardCharsets.UTF_8);
byte[] uidBytes = "0".getBytes(StandardCharsets.UTF_8);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bos.write(new byte[] { 0, 0, 0, 0, 22, -120, 17, 118 });
bos.write(new byte[] { 0, (byte)usernameBytes.length });
bos.write(usernameBytes);
bos.write(new byte[] { 0, (byte)uidBytes.length });
bos.write(uidBytes);
bos.write(new byte[] {0, (byte)dateBytes.length, });
bos.write(dateBytes);
output.write(bos.toByteArray());
output.flush();
connection.close();
System.out.println("[emulator] data send");
}
}
System.out.println("[emulator] client rip");
serverSocket.close();
}
});
//Server spoof
Executors.newSingleThreadExecutor().submit(() -> {
while (true) {
ServerSocket serverSocket = new ServerSocket(2011);
System.out.println("[emulator] Wait connect...");
Socket connection = serverSocket.accept();
DataInputStream input = new DataInputStream(connection.getInputStream());
DataOutputStream output = new DataOutputStream(connection.getOutputStream());
System.out.println("[emulator] server connect");
while (connection.isConnected() && !connection.isClosed()) {
if (input.available() > 0) {
byte[] bytes = new byte[2048];
int bytes_count = input.read(bytes);
System.out.println("[emulator] reversed " + bytes_count + " bytes of server");
int hwidSize = bytes[9];
int ipSize = bytes[9 + hwidSize + 2];
String serverIP = new String(bytes, 9 + hwidSize + 3, ipSize);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bos.write(new byte[] { 0, (byte) ipSize });
bos.write(serverIP.getBytes());
bos.write(new byte[] { 0, 0, 0, 0, 122, 87, 111, 47 });
bos.write(new byte[] { 0, (byte) ipSize });
bos.write(serverIP.getBytes());
bos.write(new byte[] { -1, -1, -1, -1, -102, -124, 95, -107 });
output.write(bos.toByteArray());
output.flush();
connection.close();
System.out.println("[emulator] send data");
}
}
System.out.println("[emulator] server rip");
serverSocket.close();
}
});
}
}