远程控制程序(Spy)是笔者在学习网络编程时编写的一个网络程序,其功能有:
1、实现远程文件操作(上传,下载,复制,删除等);
2、远程启动命令提示符和其它控制台程序;
注:该软件仅用于交流和学习,请不要用于非法用途!!!
下载远程控制程序
下载源代码
该程序包含3个程序:
1、spysvc 服务端(受控端)
2、spycmd 命令行客户端(控制端)
3、spy GUI客户端(控制端)
其内核用C++和API编写,GUI客户端的界面用.Net编写。
使用方法:
1.启动客户端
(1)输入验证(如果控制端要连接到该客户端,需输入相同的验证)

注:如果spysvc.exe同目录下的文件spysvc.ini中Validate不为空且不是prompt则不弹出该对话框,而是使用Validate的值作为验证
2.连接到客户端的文件系统
启动spy,点击连接->文件系统,输入客户端IP和验证

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

2.启动命令行提示符:
注:如果客户端装有卡巴,启动CMD可能会被阻止
启动spy,点击连接->文件系统,输入客户端IP,验证和要启动程序(命令行提示符输入CMD)

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

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

RedirectCRT
1
void 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