gpt4 book ai didi

c - 是否可以在没有源代码的情况下将 no-pie 可执行文件转换为 pie 可执行文件?

转载 作者:行者123 更新时间:2023-12-04 10:53:39 24 4
gpt4 key购买 nike

我想使用 lief 将可执行文件转换为共享库,我注意到它只支持 pie 可执行文件。所以我想知道是否有一种方法可以将 no-pie 可执行文件转换为 pie 可执行文件。

最佳答案

不,没有,除非在链接时可能使用了模糊的 -q 选项。 ET_EXEC ELF 文件链接到特定的加载地址,地址引用在其指令流中解析并最终确定为立即数,在其数据部分中确定为纯数字。这些数字指的是对象或函数的地址,而不仅仅是普通常量的信息已经丢失,并且根本无法恢复。另一方面,PIE 可执行文件在所有地址引用上都有动态重定位记录,以便可以在加载时对其进行修补,并且通常在数据段(GOT 或静态数据)中包含所有此类引用,因此文本段是纯粹的只读且可共享。

所以不,没有办法做你想做的事。

关于c - 是否可以在没有源代码的情况下将 no-pie 可执行文件转换为 pie 可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56745928/

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