gpt4 book ai didi

c++ - LoadLibrary 与将二进制 dll 加载到进程中?

转载 作者:行者123 更新时间:2023-11-30 21:16:08 47 4
gpt4 key购买 nike

我尝试使用 ifstream 将 dll 文件的内容注入(inject)到远程进程中。我使用 char* 缓冲区来存储 dll 的内容,然后使用 WriteProcessMemory 将 dll 文件的二进制文件注入(inject)到进程中。我使用 CheatEngine 查看 VirtualAllocEx 结果指向的内存区域,因此我知道数据已写入,因为我看到了我创建的函数之一的文本参数。我只是好奇 LoadLibrary 与仅将 dll 的原始二进制文件加载到进程中有何不同。

最佳答案

简而言之,LoadLibrary 执行以下操作:

  1. 映射和重新定位内存中的部分。

  2. 处理导入描述符表,加载任何依赖项(如果需要),并填写导入地址表 (IAT)。

  3. 将必要的信息写入进程环境 block (PEB),以便您可以在模块列表中找到该模块。

  4. 调用模块加载通知(通常在内核中)。

  5. 清理新的模块上下文。

  6. 创建激活上下文(如果有 list )。

  7. 调用入口点 (DllMain)(如果存在)。

关于c++ - LoadLibrary 与将二进制 dll 加载到进程中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38167747/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com