gpt4 book ai didi

c - 用于修改 ELF 二进制文件动态部分的工具

转载 作者:IT王子 更新时间:2023-10-29 00:52:18 24 4
gpt4 key购买 nike

有没有工具可以修改 ELF 二进制文件的动态部分中的共享库条目?我想明确修改我的二进制文件中的共享库依赖项(即用自定义路径替换现有库的路径)

最佳答案

replace path to existing library with a custom path

如果这是您自己的库,那么您可能会这样链接它:

$ cc -o prog1 -l/full/path/to/libABC.so prog1.o

而不是正确的:

$ cc -o prog1 -L/full/path/to/ -lABC prog1.o

第一种方法告诉 Linux 链接器应用程序恰好需要那个库,只有那个库并且没有覆盖应该是可能的。第二种方法告诉应用程序需要将安装在系统某处的库,要么在默认库路径中,要么在 $LD_LIBRARY_PATH 指向的路径中(将在运行时查找)。 -L 仅在链接时使用。

否则,与其修补 ELF,不如先检查是否可以使用符号链接(symbolic link)替换库。这是常用的技巧:之后很难修改可执行文件,但很容易更改符号链接(symbolic link)指向的位置。

关于c - 用于修改 ELF 二进制文件动态部分的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3206245/

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