当前位置: 技术问答>linux和unix
_dl_open()这个函数在哪个so里?为什么找不到?
来源: 互联网 发布时间:2017-04-08
本文导语: 本帖最后由 poiuyyy 于 2012-05-06 18:48:58 编辑 我参考了《共享库注射--injectso实例》,想在linux下实现so库的注入.现在按照教程,想先找到目标进程的_dl_open()入口.有些资料说这个函数在libc.so.6里,有的说在dl-2.11.1.so里(根据版...
以下是我检索这2个文件的结果:
root@ubuntu:/lib# readelf -r ld-2.11.1.so
Relocation section '.rel.dyn' at offset 0x714 contains 15 entries:
Offset Info Type Sym.Value Sym. Name
0001be48 00000008 R_386_RELATIVE
0001be54 00000008 R_386_RELATIVE
0001be58 00000008 R_386_RELATIVE
0001be5c 00000008 R_386_RELATIVE
0001be60 00000008 R_386_RELATIVE
0001be64 00000008 R_386_RELATIVE
0001be68 00000008 R_386_RELATIVE
0001be6c 00000008 R_386_RELATIVE
0001be70 00000008 R_386_RELATIVE
0001be74 00000008 R_386_RELATIVE
0001be78 00000008 R_386_RELATIVE
0001bfe4 00000008 R_386_RELATIVE
0001c83c 00000008 R_386_RELATIVE
0001bfe8 00000906 R_386_GLOB_DAT 0001c8e0 _r_debug
0001bfec 00000606 R_386_GLOB_DAT 00014980 free
Relocation section '.rel.plt' at offset 0x78c contains 6 entries:
Offset Info Type Sym.Value Sym. Name
0001c000 00000b07 R_386_JUMP_SLOT 000149e0 __libc_memalign
0001c004 00001607 R_386_JUMP_SLOT 00014af0 malloc
0001c008 00000d07 R_386_JUMP_SLOT 00014bc0 calloc
0001c00c 00000707 R_386_JUMP_SLOT 00014b20 realloc
0001c010 00001207 R_386_JUMP_SLOT 00010bc0 ___tls_get_addr
0001c014 00000607 R_386_JUMP_SLOT 00014980 free
再看libc.so.6里的内容:
root@ubuntu:/lib# readelf -a libc.so.6|grep dl_open
1000: 00148520 4 OBJECT GLOBAL DEFAULT 34 _dl_open_hook@@GLIBC_PRIVATE
这里只有_dl_open_hook这个函数,但是它有后缀@@GLIBC_PRIVATE,我不是很清楚这有什么作用,但是好像无法被调用.
那么_dl_open()这个函数到底被包含在哪个so里呢?如果这个函数没有被包含,还有其他办法注入吗?
我的测试平台为ubuntu,版本为9.10.
|
我觉得还是libdl
我觉得一直是必须的
你瞧瞧这个有静态库形式不?
我觉得一直是必须的
你瞧瞧这个有静态库形式不?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。