Windows核心编程-远程注入DLL.doc

远程注入DLL 概述 为了隐藏自身的进程信息,我们希望将进程作为一个合法进程的线程运行。由于系统进程间不允许直接操作资源,因而我们需要在合法进程内部创建一个线程,为其指定要执行的代码。一种简单的方式是令远程线程载入一个我们编写的DLL,通过DllMain()函数执行我们需要的代码。基本思路是将LoadLibrary()函数作为一个线程函数来调用: CreateRemoteThread()LoadLibrary()DllMain() 这里的核心函数是CreateRemoteThread(),它用来在远程进程中创建一新线程。我们来看一下这个函数: HANDLE WINAPI CreateRemoteThread( ????HANDLE hProcess, //要创建远程线程的进程句柄 ????LPSECURITY_ATTRIBUTES lpThreadAttributes, //用于定义新线程的安全属性,这里设为NULL采用默认值即可 ????SIZE_T dwStackSize,??//初始化线程堆栈大小,NULL为默认大小 ????LPTHREAD_START_ROUTINE lpStartAddress, //线程函数开始的地址 ????LPVOID lpParameter,??//线程函数参数 ????DWORD dwCreationFlags,??//函数表示创建线程后线程的

文档评论(0)

1亿VIP精品文档

相关文档