- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一旦 iOS 设备越狱,我们就可以构建越狱应用程序(使用 theos)并将其安装在 /Applications
目录中,预加载的应用程序以 root 权限运行。如果一个应用程序是用 Xcode 构建的,一旦安装,它就会进入 /private/var/mobile/Applications/
文件夹,该文件夹应该强制执行 Apple 沙箱(在越狱之前)。
所以,我的问题是:
对于越狱设备,/private/var/mobile/Applications/
中的应用程序是以 root 权限还是以 mobile
用户权限执行的?
对于 Android,一旦获得 root 权限,应用程序将必须通过执行 su
命令获得 root 权限。 iOS 也是这样吗?
我想了解这两个开发选项 (Theos/Xcode) 之间的区别,以及它如何影响我的应用可以执行的操作。
最佳答案
不反对任何事情H2CO3 said ,但要添加一些进一步的说明......
使用 Xcode 安装在 /private/var/mobile/Applications/
(†) 中的应用程序将以用户 mobile
权限运行,即使在越狱手机上也是如此。
即使在越狱手机上,安装到 /private/var/mobile/Applications/
(†) 的应用程序也将像应用程序一样几乎 (‡)在 jailed 电话上。因此,不会读取其他(正常)应用程序的数据,即使这些文件属于用户 mobile
。
有关 Cydia 等应用程序以 root 身份运行的过程的详细描述,see this answer .或者,直接通过 ssh 进入您的手机,然后亲自查看 /Applications/Cydia.app/
。
如果您只是将应用程序复制/安装到 /Applications/
(不执行 H2CO3 suggested 操作),它不会被沙盒化,但仍会以 运行移动
(UID=501) 权限:
iPhone5:~ root# cd /Applications
iPhone5:/Applications root# ls -altr ./HelloJB.app/
total 220
-rw-r--r-- 1 root wheel 711 Apr 3 20:36 entitlements.xml
-rw-r--r-- 1 root wheel 297 Apr 3 20:36 entitlements-daemon.xml
-rw-r--r-- 1 root wheel 7972 Apr 3 20:36 embedded.mobileprovision
-rw-r--r-- 1 root wheel 58755 Apr 3 20:36 date.zip
-rw-r--r-- 1 root wheel 485 Apr 3 20:36 ResourceRules.plist
-rw-r--r-- 1 root wheel 8 Apr 3 20:36 PkgInfo
-rw-r--r-- 1 root wheel 1226 Apr 3 20:36 Info.plist
-rw-r--r-- 1 root wheel 10960 Apr 3 20:36 Icon\@2x.png
-rw-r--r-- 1 root wheel 8328 Apr 3 20:36 Icon.png
-rw-r--r-- 1 root wheel 451 Apr 3 20:36 HelloJB.plist
-rwxr-xr-x 1 root wheel 61088 Apr 3 20:36 HelloJB*
-rwxr-xr-x 1 root wheel 42688 Apr 3 20:36 HelloDaemon*
drwxr-xr-x 2 root wheel 136 Apr 3 20:36 en.lproj/
drwxr-xr-x 2 root wheel 102 Apr 3 20:36 _CodeSignature/
drwxr-xr-x 4 root wheel 544 Apr 3 20:36 ./
drwxrwxr-x 54 root admin 1904 Apr 5 02:14 ../
iPhone5:/Applications root# ps -Aef | grep HelloJB
501 9412 1 0 0:00.00 ?? 0:00.33 /Applications/HelloJB.app/HelloJB
iPhone5:/Applications root# grep mobile /etc/passwd
mobile:*:501:501:Mobile User:/var/mobile:/bin/sh
(‡) 这是一个good discussion, with input from Saurik, about how different jailbreaks may affect the sandbox .长话短说:视情况而定。
(†) 更新:在最近的 iOS 版本中,第 3 方应用程序的位置已移至 /var/mobile/Containers
,后来移至 /var/containers/
,但仍然存在相同的基本沙箱问题。
关于ios - 越狱后,iOS 应用程序会以 root 权限运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15968845/
我是一名优秀的程序员,十分优秀!