WEB开发网
开发学院软件开发VC DLL的远程注入技术 阅读

DLL的远程注入技术

 2006-04-11 22:54:03 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 DLL的远程注入技术是目前Win32病毒广泛使用的一种技术,使用这种技术的病毒体通常位于一个DLL中,DLL的远程注入技术,在系统启动的时候,一个EXE程序会将这个DLL加载至某些系统进程(如Explorer.exe)中运行,这个示例的界面如下图:首先运行Target.exe,这个文件

本文示例源代码或素材下载

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,这个文件是一个用Win32 Application向导生成的“Hello, World”程序,用来作为寄生的目标进程。

1 2 3 4 5 6  下一页

Tags:DLL 远程 注入

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接