Answers:
su二进制文件需要同时设置执行和setuid许可权位。首先需要执行该文件,其次是使用文件所有者的权限(设置用户ID或setuid来自动运行)。在这种情况下,所有者为root。在此处了解更多信息。
外部存储上的文件没有设置可执行文件和setuid权限位,没有根权限就无法授予该文件。还要注意,SD卡已安装了'noexec'标志,以防止通常执行以引导:
shell@android:/sdcard $ ./su
/system/bin/sh: ./su: can't execute: Permission denied
126|shell@android:/sdcard $ chmod 4755 su
Unable to chmod su: Operation not permitted
10|shell@android:/sdcard $ mount | grep /mnt/sdcard
/dev/block/mmcblk0p1 /mnt/sdcard vfat [...],noexec,[...]
从根本上讲,这就是为什么您不能只复制su
到SD卡上然后运行它来授予自己root用户的原因。
passwd
或shadow
文件反正。从字面上看,您确实需要root才能放置su
在可执行位置,这就是为什么rooting方法要么涉及特权升级漏洞利用,要么进入自定义恢复(所有赌注基本都未启用)的原因。
生根涉及利用依赖于android版本的弱点,因此“ 跳过所有障碍以使手机生根 ”
它是鸡和蛋!
为了利用root用户,您需要在手机上使用不安全的adb守护程序(即重新挂载的功能/system
),而为了使用不安全的adb,则需要root用户!并且,您需要一个未锁定的引导程序。
看一下在github上找到的一种称为zergRush的漏洞;所关注的函数在通过连接到它所拥有的管道而试图“破坏” 守护程序的堆栈框架的情况下被调用,并通过覆盖指向已复制的堆栈指针的堆栈来使其崩溃然后从运行的shell版本。do_fault()
vold
boomsh
/data/local/tmp
阅读源代码之后,您现在将了解,为什么复制su
二进制文件不足以使手机“扎根”,以及为什么必须跳过箍圈。而且,由于SD卡在文件系统级别上的可执行位被阻止,因此不要去那里-出于明显的原因!:)
chmod
没什么大不了的,因为出厂时安装的ROM具有保护lá的功能,所以您需要root才能实现-ding SDcard的权限!:)
/system/xbin
是busybox实用程序进入的目录,并且...在已扎根的手机中,发出此命令echo $PATH
将产生/ sbin:/ vendor / bin:/ system / sbin:/ system / bin:/ system / xbin <-注意!它在路上!为了在那有那个,你需要生根,因此需要很多鸡和蛋的情况...:D