su如何在android上运行?它的先决条件是什么?什么是Android上的根源?

mk.*_*k.. 9 android root su

可能重复:su的含义是什么:process = Runtime.getRuntime().exec("su");

我厌倦了尝试所有不同的事情,但我仍然没有成功地理解什么时候会起作用.什么是Android中的设备?有人请帮帮我.

我回答了以下问题.我在那里发布的解决方案,我测试过它也有效.

在android中添加图像文件的完全权限.

这是我的问题:

我试过以下.

复制了su.

已安装SuperUser.apk,

从程序i调用su然后使用新创建的进程,我执行了所需的操作.

这有2个结果.

1)当设备被root(如在z4root中执行Permanent root选项)时,它可以工作,它会更改系统文件权限.

2)当设备没有root时,它不起作用.

请解释z4root执行哪些额外的操作,这使得任务成为可能.请简要说明一下.

如果我的问题不明确,请告诉我.万分感谢..

mat*_*267 23

什么z4root(或任何其他生根程序)运行一些漏洞将其自己的uid(user-id)更改为0(root).您可以将其视为执行某种黑客攻击并欺骗内核以为它实际上有权成为root用户(如果z4root是病毒,它可以通过安装键盘记录程序来完成所有操作.当然,如果有可能以某种方式欺骗内核给你root权限,那么它就被认为是一个安全漏洞(任何应用程序都可以做到这一点并执行一些恶意的东西)并且通常会在未来的内核更新中得到修复(这就是为什么z4root可能不会如果你升级你的固件工作).

当z4root将其uid设置为0时,它执行以下操作:/system将分区重新设置为可写(默认情况下为只读),复制su二进制文件,Superuser.apk和busybox,然后/system以只读方式重新安装.

那么,当通常应用程序与父进程具有相同的uid时,su二进制文件如何在不执行"hack"的情况下为您提供root访问权限?这是因为su二进制文件设置了set-uid标志,并且总是作为uid 0(root)运行.

现在,如果你已经将su二进制文件复制到了/system/bin那么你必须具有root访问权限,这意味着你只是忘了更改所有者/权限(chown root:root /system/bin/su; chmod 6755 /system/bin/su),但你仍然需要root权限才能这样做.