免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 39225 | 回复: 36
打印 上一主题 下一主题

[新手入门] 请问AIX如何进行系统调用重定向啊。可以付给报酬。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-14 14:22 |只看该作者 |倒序浏览
请问AIX如何进行系统调用重定向啊。现在老板催得急呀。谁有相关经验呀,可以付给报酬。

论坛徽章:
0
2 [报告]
发表于 2009-09-14 14:43 |只看该作者
LDR_PRELOAD (32位)
LDR_PRELOAD64 (64位)

论坛徽章:
0
3 [报告]
发表于 2009-09-14 16:50 |只看该作者

回复 #2 wysilly 的帖子

谢谢wysilly,我是这么用的:
进入系统后,输入以下命令
LDR_PRELOAD64=/usr/mylib.so
LDR_PRELOAD=/usr/mylib.so
其中mylib.so为自已的so库
是不是所有软件以后都用我库里的函数了,不知道对不对。
刚才试了一下好象不行,有可能是我哪里弄错了。我再试下。

论坛徽章:
0
4 [报告]
发表于 2009-09-14 17:40 |只看该作者

回复 #2 wysilly 的帖子

我看网上的资料试了一下函数printf,设置系统环境变量后可以重写printf,我只能重新写printf,我还想在进行自己处理后,再调用原来printf的功能,这样如何实现?因为此时我无法找到原来printf的入口点了。

[ 本帖最后由 hps9743003 于 2009-9-14 17:41 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-09-15 02:01 |只看该作者
dlsym(RTLD_NEXT, "printf");

论坛徽章:
0
6 [报告]
发表于 2009-09-15 09:31 |只看该作者

回复 #5 wysilly 的帖子

要是使用这个的话,只是重定向了动态LIBC的库,有些系统调用可能截获不到,比较说使用静态库或者直接使用系统调用函数的程序,是不是存在这个问题?谢谢。

论坛徽章:
0
7 [报告]
发表于 2009-09-15 10:25 |只看该作者
http://www.ibm.com/developerworks/aix/library/au-kernelext.html
最后的选择,相关资源也有。

Kernel extensions can add new system calls to the kernel, or take over existing ones, simply by listing the new system calls in an export file, with the syscall tag attached.

论坛徽章:
0
8 [报告]
发表于 2009-09-15 14:52 |只看该作者

回复 #7 wysilly 的帖子

这个贴子我也试过了。我可以把原有的系统调用给替换了,但是没有办法再调用原来旧的。
因为在AIX下,没有系统调用符号表,靠导出与原有符号相同符号的方法把原有系统调用给替换掉,这样带来的问题便是无法找到原来的系统调用。
我找了下边这篇文章:
http://203.208.39.132/search?q=c ... 0Bm8OzsIVjqBiUXt_xQ
关键是没有办法找到原函数的入口,好象也没有办法在内核中调用系统调用的功能。

论坛徽章:
0
9 [报告]
发表于 2009-09-15 16:49 |只看该作者
写一个模块,把旧的SYSCALL包装下,然后export到一个exp文件,把该文件import到你替换系统调用的那个模块。

论坛徽章:
0
10 [报告]
发表于 2009-09-15 21:33 |只看该作者

回复 #9 younglovej 的帖子

关键问题是在系统模块里边,没法调用到系统的系统调用。
http://203.208.39.132/search?q=c ... 0Bm8OzsIVjqBiUXt_xQ
上面那个网址里说的方法不能用,因为在系统调用或内核模块里边没法再调用别的系统调用,所以就没法把原来的包装起来,另外上面那个网址文档里的东西写错了,系统调用的名字不是getpid而是_getpid要不然不起作用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP