标题可能看起来令人困惑,但是,如何在不修改内存的情况下修改子程序?
我尝试做的事情基本上是NOP子程序(有效地使它变得无用)而不修改内存或产生与之相当的东西......这可能吗?
答案 0 :(得分:0)
如果您使用的是Unix / Linux,并且它位于共享库中,请使用symbol interposition提供您首先加载的无操作定义。 (例如通过LD_PRELOAD
)。
否则,如果您无法修改通话目标,我除了修改每个通话网站外,我看不到任何其他选项。
您将此标记为"内联汇编"。这是否意味着您可以重新编译整个程序?如果是这样,那么就这样做并使用预处理器技巧将调用定义为no-ops。