聪聪搞机 发表于 2024-2-26 17:05

智能电视Root权限获取及解决“su: must be suid”问题

智能电视的root过程是为了获取系统的最高权限,让用户能够自由定制和修改系统。但在实际操作中,有时会遇到“su: must be suid to work properly”这样的错误提示。这通常意味着root权限未正确设置或文件权限有误。为了解决这个问题,用户需要确保su文件具有正确的SUID(Set User ID)权限。这通常涉及到使用chmod命令修改文件权限。正确设置后,用户就可以顺利获取root权限,对智能电视进行更深入的定制和优化。

1、前提准备:


[*]su命令
[*]superuser.apk或supersu.apk
[*]sh命令(通常原系统自带)
[*]busybox(可选,拓展原系统的命令,原系统自带的命令较少)
[*]当前电视的system.img镜像文件

2、原 理:

其实较简单,就是将sh、su、busybox复制到/system/bin或/system/xbin目录下,然后安装superuser.apk到手机,授权应用程序的超级用户请求。

3、root 过程:

挂载system.img :
命令:sudo mount -t ext4 -rw system.img sys

<p>biren@ubuntu:~/downloads/new$ mkdir sys</p><p> </p><p>biren@ubuntu:~/downloads/new$ sudo mount -t ext4 -rw system.img sys</p><p>biren@ubuntu:~/downloads/new$ cd sys</p><p>biren@ubuntu:~/downloads/new/sys$ ll</p><p>total 60</p><p>drwxr-xr-x 13 rootroot4096 Jan11970 ./</p><p>drwxrwxr-x3 biren biren 4096 Jun 15 11:49 ../</p><p>drwxr-xr-x2 rootroot4096 Jun9 20:58 app/</p><p>drwxr-xr-x2 root   2000 4096 Jun 12 19:05 bin/</p><p>-rw-r--r--1 rootroot1979 Dec 162012 build.prop</p><p>drwxr-xr-x9 rootroot4096 Dec 162012 etc/</p><p>drwxr-xr-x2 rootroot4096 Dec 162012 fonts/</p><p>drwxr-xr-x2 rootroot4096 Dec 162012 framework/</p><p>drwxr-xr-x8 rootroot8192 Dec 162012 lib/</p><p>drwxr-xr-x3 rootroot4096 Dec 162012 media/</p><p>drwxr-xr-x3 rootroot4096 Dec 162012 tts/</p><p>drwxr-xr-x8 rootroot4096 Dec 162012 usr/</p><p>drwxr-xr-x3 root   2000 4096 Dec 162012 vendor/</p><p>drwxr-xr-x2 root   2000 4096 Dec 162012 xbin/</p>
复制su 、busybox到/system/xbin :

<p>$ cp ../su xbin</p><p>$ cp ../busybox xbin</p><p> </p><p>biren@ubuntu:~/downloads/new/sys$ ll -l xbin/su xbin/busybox </p><p>-rwxr-xr-x 1 root 2000 1745016 Dec 162012 xbin/busybox*</p><p>-rwxr-xr-x 1 root 2000   85096 Dec 162012 xbin/su*</p>
修改su 、busybox属性:
命令:sudo chmod 6755 xbin/su xbin/busybox

重要说明 :

明明它们是可执行属性,为什么要修改成6755 ?如果不修改,在运行su命令时就会出现“su: must be suid to work properly”的错误。

<p>biren@ubuntu:~/downloads/new/sys$ sudo chmod 6755 xbin/su xbin/busybox </p><p>biren@ubuntu:~/downloads/new/sys$ ll -l xbin/su xbin/busybox </p><p>-rwsr-sr-x 1 root 2000 1745016 Dec 162012 xbin/busybox*</p><p>-rwsr-sr-x 1 root 2000   85096 Dec 162012 xbin/su*</p>
在/system/bin中建立su、busybox的链接:

<p>$ sudo ln -s xbin/subin/su</p><p>$ sudo ln -s xbin/busyboxbin/busybox</p><p> </p><p>biren@ubuntu:~/downloads/new/sys$ ll bin/su bin/busybox</p><p>lrwxrwxrwx 1 root root 12 Jun 12 19:05 bin/busybox -> xbin/busybox</p><p>lrwxrwxrwx 1 root root7 Jun 15 12:17 bin/su -> xbin/su</p>
授    权:
在应用app运行时会弹出“超级用户请求”,如运行re、终端模拟器等,点击“允许”vcs


二个问题解决:
问题一、SU二进制文件需要更新,是否继续?


运行superuser或supersu应用时出现

大致原因:su与superuser版本不一致或者superuser与android内核版本不一致

问题二、su: must be suid to work properly
这个是运行su命令时出现的

原因:su命令设置不当造成的

解决:修改su的属性为6755,chmod 6755 xbin/su

权限额外说明 :

6755属性:中的6是SUID、SGID、SBIT权限的体现,SUID=4,SGID=2,SBIT=1,授权方法除了数字外,还可用SUID: u±s ,SGID: g±s,SBIT: o±t

SUID :set uid (所有者)

对可执行程序有效
使普通账号在使用这些命令时暂时获得其拥有者的权限,典型的有su 、passwd
SGID : set gid (所在群组)

作用于目录或可执行文件
在执行过程中,调用者会暂时获得该文件的所属组权限
SBIT : Sticky Bit

对目录有效
当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。
获取system.img :

通常从升级包中提取出来,提取方法可参考:康佳LED37R5200PDF电视精简升级 晨星Mstar与mstar-bin-tool使用指南

https://www.znds.com/static/image/hrline/2.gif

相关阅读:
一文读懂bin后缀的固件解包和封包方法
小米电视怎么和笔记本电脑连接 小米电视windows笔记本投屏


月下桥 发表于 2024-2-26 17:13

很专业的教程,支持一下

流浪的云888 发表于 2024-2-26 18:14

楼主,牛逼姆拉斯!{:116:}
页: [1]
查看完整版本: 智能电视Root权限获取及解决“su: must be suid”问题