zoukankan      html  css  js  c++  java
  • 反射式DLL注入--方法

    1. 使用RWX权限打开目标进程,并为该DLL分配足够大的内存。
    2. 将DLL复制到分配的内存空间。
    3. 计算DLL中用于执行反射加载的导出的内存偏移量。
    4. 调用CreateRemoteThread(或类似的未公开的API函数RtlCreateUserThread)在远程进程中开始执行,使用反射加载函数的偏移地址作为入口点。
    5. 反射加载函数使用适当的CPU寄存器查找目标进程的进程环境块(PEB),并使用它查找内存中的地址kernel32.dll以及任何其他所需的库。
    6. 解析的KERNEL32出口目录中找到所需的API功能,如内存地址LoadLibraryAGetProcAddressVirtualAlloc
    7. 使用这些函数,然后正确加载DLL(本身)到内存中,并调用它的入口点,DllMain。
  • 相关阅读:
    hive高阶函数和采样-优化
    zookeeper搭建
    hive常用函数和建表
    hive常用函数-建表-jdbc
    hadoop远程调试和配置HA
    hadoop-MR-排序
    python spark
    jenkins安装
    beetlsql
    spark页面单跳转化率
  • 原文地址:https://www.cnblogs.com/tututu-patch/p/7816202.html
Copyright © 2011-2022 走看看