如何替换目标文件中的符号

时间:2017-04-19 05:56:41

标签: c++ linux linker ld object-files

我想重写目标文件,以便将大多数函数的地址更改为无操作函数。我怎么能这样做?

更多上下文:在C ++中,我想默认自动模拟所有函数。要从a()致电a() {}b()致电b() {},让a()真正致电replacement() {},又拥有b()打电话(相同)replacement() {}

到目前为止我考虑过的事情:

  • objcopy --redefine-syms=filename - 这会更改符号的名称,而不是地址。
  • 使用链接器的--wrap参数 - 这需要为我想要包装的每个东西编译一个不同的符号__wrap_NameOfWrappedThing,并且通常看起来不会很好地缩放。

0 个答案:

没有答案