DLL远程线程注入技术.doc
文本预览下载声明
??????? 当然,我对病毒毫无兴趣~ ??????? 起因还是软大二那个进程监控的东西,然后我也不知道怎么的就看到远程线程注入的东西了,觉得挺感兴趣,就找来《Windows核心编程》(这真是本好书,大家一定要看看)研究了几天,成果嘛,就是这个东西喽: ? 它可以通过我们输入的进程名把指定的dll注入到该进程中,然后弹出一个对话框,列出此进程所加载的所有dll名 。? 这个工程的基本思路是: ??????? 1. 使用VirtualAllocEx()分配远程进程的地址空间中的内存; ??????? 2. 使用WriteProcessMemory()将自定义dll的路径名复制到步骤1所分配的内存中; ??????? 3. 得到LoadLibrary()函数的实际地址(在Kernel32.dll中); ??????? 4. 使用CreateRemoteThread()函数在远程进程中创建一个线程,调用LoadLibrary()函数,将步骤1中所分配的内存地址传给它。? 这时,dll已经注入到了远程进程的地址空间中。 当远程线程终止运行时,需要执行以下步骤: ?????? 1. 使用VirtualFreeEx()函数释放上面步骤1中分配的内存;? ???????2. 得到FreeLibrary()函数的实际地址(在Kernel32.dll中); ?????? 3. 使用CreateRemoteThread()函数在远程进程中创建一个线程,调用FreeLibrary()函数,传递远程dll的hinstance 。 最后,哈哈,老规矩了~贴出代码,服务下大众~~ dll文件:
test工程主要代码:
显示全部