- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DLL的远程注入技术详解.pdf
学习各种高级外挂制作技术,马上去百度有哪些信誉好的足球投注网站(魔鬼作坊),点击第一个站进入,
快速成为做挂达人。
DLL的远程注入技术是目前Win32病毒广泛使用的一种技术。使用这种技术的病毒体通常位
于一个DLL中,在系统启动的时候,一个EXE程序会将这个DLL加载至某些系统进程(如
Explorer.exe)中运行。这样一来,普通的进程管理器就很难发现这种病毒了,而且即使发
现了也很难清除,因为只要病毒寄生的进程不终止运行,那么这个DLL就不会在内存中卸载,
用户也就无法在资源管理器中删除这个DLL文件,真可谓一箭双雕哉。
记得2003年QQ尾巴病毒肆虐的时候,就已经有些尾巴病毒的变种在使用这种技术了。到了
2004年初,我曾经尝试着仿真了一个QQ尾巴病毒,但独是跳过了DLL的远程加载技术。直
到最近在学校论坛上看到了几位朋友在探讨这一技术,便忍不住将这一尘封已久的技术从我
的记忆中拣了出来,以满足广大的技术爱好者们。
必备知识
在阅读本文之前,你需要了解以下几个API函数:
OpenProcess - 用于打开要寄生的目标进程。
VirtualAllocEx/VirtualFreeEx - 用于在目标进程中分配/释放内存空间。
WriteProcessMemory - 用于在目标进程中写入要加载的DLL名称。
CreateRemoteThread - 远程加载DLL的核心内容,用于控制目标进程调用API函数。
LoadLibrary - 目标进程通过调用此函数来加载病毒DLL。
在此我只给出了简要的函数说明,关于函数的详细功能和介绍请参阅MSDN。
示例程序
我将在以下的篇幅中用一个简单的示例Virus.exe来实现这一技术。这个示例的界面如下
图:
首先运行Target.exe,这个文件是一个用Win32Application向导生成的“Hello,World”
程序,用来作为寄生的目标进程。
然后在界面的编辑控件中输入进程的名称“Target.exe”,单击“注入DLL”按钮,这时候
Virus.exe就会将当前目录下的DLL.dll注入至Target.exe进程中。
在注入DLL.dll之后,你也可以单击“卸载DLL”来将已经注入的DLL卸载。
点这里下载示例程序
模拟的病毒体DLL.dll
这是一个简单的Win32 DLL程序,它仅由一个入口函数DllMain组成:
C++代码
BOOL WINAPI DllMain HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved
switch fdwReason
case DLL_PROCESS_ATTACH:
MessageBox NULL, _T DLL已进入目标进程。 , _T 信息 ,
MB_ICONINFORMATION ;
break;
case DLL_PROCESS_DETACH:
MessageBox NULL, _T DLL已从目标进程卸载。 , _T 信息 ,
MB_ICONINFORMATION ;
break;
return TRUE;
如你所见,这里我在DLL被加载和卸载的时候调用了MessageBox,这是用来显示我的远程
注入/卸载工作是否成功完成。而对于一个真正的病毒体来说,它往往就是处理
DLL_PROCESS_ATTACH事件,在其中加入了启动病毒代码的部分:
C++代码
case DLL_PROCESS_ATTACH:
StartVirus ;
break;
注入!
现在要开始我们的注入工作了。首先,我们需要找到目标进程:
C++代码
DWORD FindTarget LPCTSTR lpszProcess
DWORD dwRet 0;
HANDLE hSnapshot CreateToolhelp32Snapshot TH32CS_SNAPPROCESS, 0 ;
PROCESSENTRY32 pe32;
pe32.dwSize sizeof PROCESSENTRY32 ;
Process32First hSnapshot, pe32 ;
do
if
您可能关注的文档
- AWARD BIOS设置详解.doc
- C语言精选编程题(详解答案).doc
- C语言-字符串函数大全和详解.doc
- DOS常用命令详解.doc
- IIS下如何配置PHP服务器详解.doc
- Linux下FTP命令详解.doc
- 基础工程知识点整理.doc
- 白酒工艺详解.doc
- 北京殡葬习俗 北京丧事流程10个环节详解.doc
- 快捷键文档(分类整理大全).doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)