Android 上有某种 ASLR 保护吗?
我想知道是否有人可以访问具有从程序的一个实例到另一个实例的函数地址相同的库?
I want to know if someone could access libraries with function addresses that would be the same from one instance of the program to the other?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在同一设备上运行时,地址空间布局将非常一致。许多主要的系统库都是由 zygote 预加载的,因此由它分叉出来的子级继承为共享映射,以区分为应用程序。我认为在虚拟内存级别重新映射它们是可能的,但会产生一种动态重新链接的惩罚,并且实现起来相当棘手。
The address space layout will be pretty consistent from run to run on the same device. A lot of the major system libraries are preloaded by zygote, and so inherited as shared mappings by the children it forks off to differentiate into applications. I suppose remapping them at the virtual memory level would be possible, but would incur a sort of dynamic-re-linking penalty and would be fairly tricky to implement.