码迷,mamicode.com
首页 > 其他好文 > 详细

反射式DLL注入--方法

时间:2017-11-10 21:52:47      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:user   复制   调用   dll   remote   roc   内存   proc   adl   

  1. 使用RWX权限打开目标进程,并为该DLL分配足够大的内存。
  2. 将DLL复制到分配的内存空间。
  3. 计算DLL中用于执行反射加载的导出的内存偏移量。
  4. 调用CreateRemoteThread(或类似的未公开的API函数RtlCreateUserThread)在远程进程中开始执行,使用反射加载函数的偏移地址作为入口点。
  5. 反射加载函数使用适当的CPU寄存器查找目标进程的进程环境块(PEB),并使用它查找内存中的地址kernel32.dll以及任何其他所需的库。
  6. 解析的KERNEL32出口目录中找到所需的API功能,如内存地址LoadLibraryAGetProcAddressVirtualAlloc
  7. 使用这些函数,然后正确加载DLL(本身)到内存中,并调用它的入口点,DllMain。

反射式DLL注入--方法

标签:user   复制   调用   dll   remote   roc   内存   proc   adl   

原文地址:http://www.cnblogs.com/tututu-patch/p/7816202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!