首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
Android安全
发新帖
1
0
android 与 linux的动态链接
发表于: 2014-2-22 16:36
5991
android 与 linux的动态链接
chitcrazy
2014-2-22 16:36
5991
近期,在做关于hook类的东西,从linux转向android的过程中,发现它们的链接机制有所不同,
android上的dlopen这个函数时在linker链接器中的,所以利用这个dlopen来加载自己的so库就相对简单了,但是发现在linux上,dlopen这个函数是在libdl.so中的,而不在ld.so链接器中,那么就有一个问题,我自己写的一个HelloWorld的程序,解析了这个程序的加载时的内存映射,发现内存中只有两个库,就是ld.so和libc.so,一个是动态链接库,另一个是c运行时库,那我就想这个c运行时库肯定是由动态链接器加载的吧,而且动态链接器加载libc.so的时候并没有用到dlopen这个函数,不然的话内存中一定会存在libdl.so这个库才对啊,大家说,我的这点猜想是不是正确呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
上传的附件:
1.png
(26.41kb,5次下载)
2.png
(4.86kb,6次下载)
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
4
)
domybest
雪 币:
0
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
25
粉丝
0
关注
私信
domybest
2
楼
有可能libdl.so是被其他库已经加载了呢
2014-2-28 22:50
0
krash
雪 币:
3818
活跃值:
(4233)
能力值:
( LV9,RANK:180 )
在线值:
发帖
7
回帖
68
粉丝
250
关注
私信
krash
4
3
楼
没有使用到dlopen, linker是使用mmap把so加载进来的。
2014-3-3 13:21
0
chitcrazy
雪 币:
47
活跃值:
(43)
能力值:
( LV3,RANK:20 )
在线值:
发帖
21
回帖
77
粉丝
0
关注
私信
chitcrazy
4
楼
那这样的话,是不是先用mmap将so文件加载进内存,那符号解析之类的呢,还是由动态链接器做的,符号解析这块应该和调用dlopen来进行符号解析是一样的,我想,那我自己直接调用mmap来把so文件注入一个进程的地址空间,然后访问so文件中的一个函数,应该还不能执行吧,必须要把符号解析好才行???
2014-3-3 17:42
0
sbright
雪 币:
146
活跃值:
(33)
能力值:
( LV6,RANK:90 )
在线值:
发帖
120
回帖
995
粉丝
1
关注
私信
sbright
2
5
楼
跟你这个so有关。如果这个so没有引用到外部符号,你只要需要知道目标函数地址就行。你可以在目标进程里面找dlopen,然后用它加载so。
2014-3-6 17:07
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
chitcrazy
21
发帖
77
回帖
20
RANK
关注
私信
他的文章
[求助]ida调试dex
13321
[原创]基于Xposed开发应用的基本规则
28308
[求助]netbeans调试apk
10779
[原创]DexClassLoader4.4.2动态加载分析(磁盘加载分析)
30117
[原创]Dex动态加载的C语言部分
23800
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
DiYhAcK
过客guoke
bbxt
谁下载
×
DiYhAcK
whnet
过客guoke
AChinaa
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部