停止调用函数而不修改它?

时间:2016-05-11 01:09:26

标签: assembly inline-assembly

标题可能看起来令人困惑,但是,如何在不修改内存的情况下修改子程序?

我尝试做的事情基本上是NOP子程序(有效地使它变得无用)而不修改内存或产生与之相当的东西......这可能吗?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Unix / Linux,并且它位于共享库中,请使用symbol interposition提供您首先加载的无操作定义。 (例如通过LD_PRELOAD)。

否则,如果您无法修改通话目标,我除了修改每个通话网站外,我看不到任何其他选项。

您将此标记为"内联汇编"。这是否意味着您可以重新编译整个程序?如果是这样,那么就这样做并使用预处理器技巧将调用定义为no-ops。