通过.def文件在Linux上挂钩功能

时间:2014-01-26 16:27:32

标签: c++ linux dll shared-libraries hook

在.def文件中的Windows上,我可以挂钩函数:

glAccum                    =    Hook_glAccum;
glActiveTextureARB         =    Hook_glActiveTextureARB;
glAlphaFunc                =    Hook_glAlphaFunc;
glAreTexturesResident      =    Hook_glAreTexturesResident;
glArrayElement             =    Hook_glArrayElement;

这样,对glAccum的所有来电都会重定向到Hook_glAccum。所有对glArrayElement的来电都会重定向到Hook_glArrayElement,依此类推......

我无法找到linux等效的.def文件或相当于上面的内容。我有什么想法可以达到同样的目的吗?

1 个答案:

答案 0 :(得分:1)

使用LD_PRELOAD和弱符号可以在运行时获得相同的结果。 以下是一些演示的教程:

Understand Weak Symbols by Examples

Simple LD_PRELOAD Tutorial