在木马中简单实现远程关机
得当读者:黑器喜好者、编程新手
前置知识:VC6根本利用方法
Socket:长途控制中有一个紧张的部份就是怎样完成长途关机,在各种木马中几乎都完成了长途关机功能,本日我们就来看看这个紧张的关机部分是怎样编程完成的。本文利用的是普通的VC6.0,步骤很简单,新手朋友们也入手写一下自己的入侵工具吧!不难,要是你从点滴开端。
在木马中简单完成长途关机
在木马中,我们是接纳的让客户端Socket给服务真个Socket发送相干的指令,同时当服务端收到相应的指令后,执行相对应的操纵,比如关机,而这些操纵实质就是调用相应的函数来处置惩罚,关机函数及其参数说明如下:
BOOL ExitWindowsEx(UINT uFlags,DWORD dwReserved);
在此中uFlags可以有以下值:
EWX_LOGOFF:注消;
EWX_POWEROFF:逼迫关机;
EWX_REBOOT:重启;
EWX_SHUTDOWN:先生存再关机;
EWX_FORCE:不生存关机;
EWX_FORCEIFHUNG:不生存关机(Windows 2000以上版本)。
晓得了函数,接上去我们就在VC中用这个函数完成我们所要的功能吧。先来看看我们所要完成步伐的外观! 起首,由VC中的领导生成一个对话框,注意在生成领导中要选择成静态联编。由于我们在木马中是常用的是重启,那么我们就把这个步伐取名为“reboot”吧!去失它默认生成的静态文本,然后添加三个单选项,并把别的主要的项设定如下:
第二,打开MFC ClassWizard进行音讯的映射处置惩罚,五个主要的控件都是用的单击音讯处置惩罚,从而为每个控件进行了音讯映射。
第三,在rebootDlg.h中为三个单选按钮添加一个标记成员整形变量“m_mark”,而且在三个单选项按钮的函数体辨别加入m_mark=0,m_mark=1,m_mark=2。如(另两个同理):
void CRebootDlg::OnLogoff()
{
// TODO: Add your control notification handler code here
m_mark=0;
}
第四,双击“确定”的按钮,去失它原来默认调用的ONOK(),而且加入以下的代码(各代码功能请看注释):
void CRebootDlg::OnCok()
{
// TODO: Add your control notification handler code here
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion; //版本号
dwVersion = GetVersion(); //失掉Windows NT或Win32的版本号
switch(m_mark) //由吸收单选项值进行相干操纵
{
case 0:
ExitWindowsEx(EWX_LOGOFF,0);
break; //注消操纵
case 1:
if(dwVersion < 0x80000000)
{
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|
TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; //设置权限
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0);
}
else //Windows系列别的体系处置惩罚
{
ExitWindowsEx(EWX_FORCE | EWX_REBOOT,0);
}
break; //重启操纵
case 2:
if(dwVersion < 0x80000000) //用于果断Windows系列,从而设置相应的权限
{
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES |
TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0);
}
else
{
ExitWindowsEx(EWX_FORCE | EWX_SHUTDOWN ,0);
}
break; //关闭盘算机
}
}
第五,“取消”可以不做处置惩罚,接纳默认的就可了,然后编译运行。如许你就为你的木马编写了长途关机部分,当前自己的木马也有关机功能了,是不是更专业了呢?
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|