android权限(您在清单中请求并在安装时显示的权限)是否与根用户在根手机上获得的linux权限相同?
更确切地说:如果我在手机上有根根,并且我有一个应用程序可以打电话,但是没有在清单上请求许可,那么这个电话会成功还是会崩溃呢?
谢谢。
发布于 2015-04-18 18:42:30
有些Android权限被实现为Linux权限(例如,外部存储或Network每个权限都授予Unix组的成员资格,允许进行这些操作),而其他权限则完全在Android层内实现。
" root“与此无关,因为Android应用程序的主要进程(它可以访问各种Android级别的服务)作为root运行几乎是闻所未闻的。相反,当人们在他们的设备上安装根黑客时,他们正在做的是添加一个shim,它可以让帮助程序以root的形式运行,而不是应用程序本身。如果helper程序想要做的是基于Linux,并且受到Linux权限的限制,这可能会起作用,因为它是一个传统的基于用户/组的强制执行,而不是被SELinux的强制执行所阻止(为了绕过这个问题,一些黑客从自己在完全激活SELinux之前就初始化的守护进程启动助手)。
但是对于必须通过Android完成的事情,root可能几乎是不相关的,因为通常执行任务的代码不会以root的形式运行。有些命令行工具可以通过触发一个不同的VM实例来与Android交互,但这可能与尝试在应用程序的过程中做同样的事情有很大的不同。
人们有时还利用根访问将他们的.apk放在系统分区(如果他们可以挂载它可写的话),这允许授予一些清单权限,如果在数据分区上以正常方式安装相同的.apk的清单中,则会忽略这些权限。
发布于 2015-04-18 18:11:48
有根手机不会影响Android权限。换句话说,如果一个应用程序做了一些需要特定许可的“事情”,而应用程序没有在AndroidManifest中声明它们,那么应用程序就会崩溃。
更多在文档。
发布于 2015-09-17 15:42:25
这个应用程序会崩溃。有趣的是,您在“android舱单”中声明的权限实际上是在本机android框架中实现的,该框架主要是java框架层,在这种框架的cpp本机实现上也有一点。您可以通过查看Android项目代码来证实这一点。这些权限实际上是在Android上实现的不同层次的安全策略,有趣的是ti继承了大量基于linux的权限,其中一个例子是使用用户和第三用户组权限来封装正在运行的应用程序(每个运行的应用程序都有不同的组和用户),而且,从Android5开始,SELinux也被启用了。
公平地说,所有这些机制都是为了加强android的整体安全性而共同努力的。
https://stackoverflow.com/questions/29720921
复制相似问题