gpt4 book ai didi

image - 来自高级 Hook /注入(inject)库 : explanation needed 的单元中的 {$IMAGEBASE $13140000} 指令

转载 作者:行者123 更新时间:2023-12-03 15:55:06 27 4
gpt4 key购买 nike

到目前为止我所做的事情:

我在AfxCodeHook.pas中找到了它由 Aphex 提供的单位。

我还使用它浏览了一堆有趣的示例代码:

我还读过:

<小时/>

问题:

我寻求经验丰富的 Delphi 编码人员对外行术语中的 {$IMAGEBASE $13140000} 指令的知情意见和简单解释。

最佳答案

这指定了 DLL 的首选基地址。如果 DLL 可以在这个地址加载,那么加载器就会这样做。如果不能,则需要重新定位,并且DLL中的所有绝对跳转都需要调整到新地址。

当加载程序尝试将 DLL 映射到进程地址空间时,它首先读取首选基地址。然后计算出 DLL 的大小。最后,它检查是否可以找到从基地址延伸到基地址+大小的连续内存块。如果是这样,则 DLL 将加载到首选基地址。如果另一个 DLL 或 exe 驻留在首选基地址,则需要重新定位该 DLL。如果应用程序保留了与首选 DLL 加载地址空间重叠的堆内存,则需要重新定位 DLL。

如果 DLL 需要重新定位,则其物理页不能在进程之间共享。 Windows 系统 DLL 仔细选择了基地址,以确保不发生冲突并且可以共享。

现在,Address Space Layout Randomization (ASLR)让事情变得更加复杂。

您可以从这些文章中了解更多信息:

关于image - 来自高级 Hook /注入(inject)库 : explanation needed 的单元中的 {$IMAGEBASE $13140000} 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10225801/

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