【发布时间】:2018-06-10 00:01:00
【问题描述】:
LD_PRELOAD 技巧有助于在运行时动态链接二进制文件,但对于静态链接的二进制文件,它会失败。
我想重写一些 c++ 启动函数(比如更改 __libc_start_main、__libc_csu_init 和其他一些的代码)。我正在考虑直接从 glibc 更改代码,但我想确定没有其他方法可以解决问题。
除了从 glibc 更改代码并重新构建它之外,还有其他方法可以覆盖 c++ 启动函数吗?
【问题讨论】:
-
这可能是特定于工具链的。是 GCC/GNU binutils 吗?
-
@MSalters 是的,我将使用 gcc。