读书人

Solaris系统下函数钩子怎么实现!

发布时间: 2012-04-20 15:27:03 作者: rapoo

Solaris系统下函数钩子如何实现!急急急。。。!!
目前系统中有一个服务程序和一个动态库(SO文件,自己开发的),服务程序启动后会调用动态库中的方法,目前希望在调用动态库相应方法前调用些新增的功能。以前在window下做开发时做过类似功能,不知道Solaris系统下是否能够实现。请各位大侠帮忙解决!


[解决办法]
http://blog.chinaunix.net/u/10889/showart_56129.html
[解决办法]
Chiyer 乱说。。。netfilter 的钩子是完全不同的概念。

不熟悉 Solaris,提供一下 Linux 下的解决方法。Linux 有一个 ltrace 工具可以追踪到所有对 so 的调用,分析源码可以得到如何进行追踪。另外一个方法是,开发一个具有相同接口的 .so,其中通过 dlopen dlsym 使用原来的函数并在前后插入需要的功能。如果不希望替换原有系统中的 .so 文件,可通过 LD_LIBRARY_PRELOAD 进行动态替换。

读书人网 >C++

热点推荐