远程控制程序(Spy)是笔者在学习网络编程时编写的一个网络程序,其功能有:

1、实现远程文件操作(上传,下载,复制,删除等);

2、远程启动命令提示符和其它控制台程序;

注:该软件仅用于交流和学习,请不要用于非法用途!!!

下载远程控制程序

下载源代码

该程序包含3个程序:

1、spysvc    服务端(受控端)

2、spycmd   命令行客户端(控制端)

3、spy         GUI客户端(控制端)

其内核用C++和API编写,GUI客户端的界面用.Net编写。

使用方法:

1.启动客户端

(1)输入验证(如果控制端要连接到该客户端,需输入相同的验证)

远程控制软件_第1张图片

注:如果spysvc.exe同目录下的文件spysvc.ini中Validate不为空且不是prompt则不弹出该对话框,而是使用Validate的值作为验证

 

2.连接到客户端的文件系统

启动spy,点击连接->文件系统,输入客户端IP和验证

远程控制软件_第2张图片

如连接成功,则显示文件界面:

远程控制软件_第3张图片

2.启动命令行提示符:

注:如果客户端装有卡巴,启动CMD可能会被阻止

启动spy,点击连接->文件系统,输入客户端IP,验证和要启动程序(命令行提示符输入CMD)

远程控制软件_第4张图片

如连接成功,则显示命令行界面:

远程控制软件_第5张图片

您也可以启动自己编写的控制台程序(不包括DOS程序),但必须在程序开始时调用RedirectCRT函数:(包含io.h头文件)

RedirectCRT
 1void RedirectCRT()
 2{
 3    FILE *hf;
 4    int hCrt;
 5
 6    hCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE),_O_TEXT);
 7    if(hCrt!=-1)
 8    {
 9        hf = _fdopen( hCrt, "w" );
10        if(hf)
11        {
12            *stdout = *hf;
13            setvbuf( stdout, NULL, _IONBF, 0 );
14        }

15    }

16
17    hCrt = _open_osfhandle((long)GetStdHandle(STD_INPUT_HANDLE),_O_TEXT);
18    if(hCrt!=-1)
19    {
20        hf = _fdopen( hCrt, "r" );
21        if(hf)
22        {
23            *stdin = *hf;
24            setvbuf( stdin, NULL, _IONBF, 0 );
25        }

26    }

27
28    hCrt = _open_osfhandle((long)GetStdHandle(STD_ERROR_HANDLE),_O_TEXT);
29    if(hCrt!=-1)
30    {
31        hf = _fdopen( hCrt, "w" );
32        if(hf)
33        {
34            *stderr = *hf;
35            setvbuf( stderr, NULL, _IONBF, 0 );
36        }

37    }

38}

 

3.退出客户端:

按Ctrl+Alt+Shift+F12