家里有一个办宽带送的电视盒子,但是1+8,安卓4.4的配置已经是太太太老了,还预装了一堆IPTV的东西拖累运行速度,况且安卓4.4也不支持adb激活冰箱,于是就只能通过root来解决这个问题了。不过网上的教程都需要通过拆机接TTL线来搞,实在是有点麻烦,考虑到拆机核心思路也就是拿到shell的root权限,如果我们能在系统中直接拿到root权限就好办了。安卓4.4时代正是各种一键root工具开花的时候,因此上面这种思路就变得好实现了。

免责声明:本文只提供搞机的思路,由此带来的损失本人不承担任何责任!

需要的工具你可以直接点击蓝色的字体进行下载。

开启adb调试

下载机顶盒现场配置工具,解压其中的bin文件夹(密码:qizhi),双击StbCfgTool.exe。打开后先点击Character Info,右边会出来一段字符,复制下来,然后点击Next,把刚刚得到的这串字符复制进去,点下一步,就可以进到主页面了。

Windows 10以上的系统会出现界面显示不全的现象,不需要去理会。

将你的机顶盒连接到无线网络,注意必须和电脑在同一个局域网内(也就是连接到一个路由器的网上)。在配置工具内在ipv4一栏输入你机顶盒的IP地址,点击连接,等待连接成功后再点打开 ADB。如果在等待一段时间后,按钮变为关闭 ADB,那么这一步的设置就完成了。

下载adb工具包并解压,在工具包的目录下打开cmd。为了方便描述,在这里假定盒子的IP地址为192.168.0.5

打开cmd后,输入以下命令远程连接盒子:

1
adb connect 192.168.0.5

如果出现connected to 192.168.0.5:5555就代表这一步完成了。为了避免不必要的麻烦,我们先看看能不能直接获取到adb shell的root权限。往里面输入

1
adb shell

此时前面应该会变成shell@orange:/ $这样的字样。输入su,观察$是否会变成#,同时前面应该会变成root@orange:/ #这样的字。如果可以的话,那么直接就可以卸载掉不必要的软件了,如果报错的话,那么我们就要手动进行root权限的接管。

获取root权限

下载360超级root,回到刚才的cmd窗口。先输入exit退出shell模式,然后我们用adb把apk安装到盒子上。为了方便描述,在这里我们假定安装包路径为D:\360root.apk

向cmd里输入

1
adb install D:\360root.apk

等待安装完成。安装完成后,转到电视盒子插上鼠标,打开360root,点击一键ROOT,等待root完毕。

等待过程中很可能会出现电视盒子卡死,或者提示root失败等,多尝试几次再确认是否可行。

root完毕之后,重复前面的步骤,确认是否可以取得shell的root权限。可行之后转到下一步。

如果盒子弹出了给予名字为Shell的APP请求root权限的对话框,请选择允许。

接管root权限

下载SuperSU的相关文件并解压,回到我们刚刚已经获取了权限的shell中。

先用mkdir命令创立一个目录,我们要把这个目录作为临时中转站:

1
2
cd /sdcard/
mkdir SuperSUTemp

随后,我们运行两次exit命令退出shell模式。就像这样:

1
2
3
4
root@orange:/ # exit
shell@orange:/ $ exit

C:\Users\Rinko24>

在这里我们假定你把SuperSU的文件复制出来的目录是D:\SuperSU。运行以下命令,把相关文件复制到临时目录里:

1
2
3
4
5
6
7
8
9
10
11
12
13
adb push D:\SuperSU\su /sdcard/SuperSUTemp/
adb push D:\SuperSU\su /sdcard/SuperSUTemp/
adb push D:\SuperSU\supolicy /sdcard/SuperSUTemp/
adb push D:\SuperSU\supolicy /sdcard/SuperSUTemp/
adb push D:\SuperSU\chattr /sdcard/SuperSUTemp/
adb push D:\SuperSU\chattr /sdcard/SuperSUTemp/
adb push D:\SuperSU\suinit /sdcard/SuperSUTemp/
adb push D:\SuperSU\suinit /sdcard/SuperSUTemp/
adb push D:\SuperSU\sukernel /sdcard/SuperSUTemp/
adb push D:\SuperSU\sukernel /sdcard/SuperSUTemp/
adb push D:\SuperSU\daemonsu /sdcard/SuperSUTemp/
adb push D:\SuperSU\daemonsu /sdcard/SuperSUTemp/
adb push D:\SuperSU\libsupol.so /sdcard/SuperSUTemp/

然后进入到root权限的shell中。先把system分区挂载为可读写:

1
mount -o remount,rw /system

随后,移动临时目录中的文件到system分区下对应的文件夹:

1
2
3
4
5
6
7
8
9
10
11
12
13
cp /sdcard/SuperSUTemp/su /system/bin/
cp /sdcard/SuperSUTemp/su /system/xbin/
cp /sdcard/SuperSUTemp/supolicy /system/bin/
cp /sdcard/SuperSUTemp/supolicy /system/xbin/
cp /sdcard/SuperSUTemp/chattr /system/bin/
cp /sdcard/SuperSUTemp/chattr /system/xbin/
cp /sdcard/SuperSUTemp/suinit /system/bin/
cp /sdcard/SuperSUTemp/suinit /system/xbin/
cp /sdcard/SuperSUTemp/sukernel /system/bin/
cp /sdcard/SuperSUTemp/sukernel /system/xbin/
cp /sdcard/SuperSUTemp/daemonsu /system/bin/
cp /sdcard/SuperSUTemp/daemonsu /system/xbin/
cp /sdcard/SuperSUTemp/libsupol.so /system/lib/

为这些文件添加权限:

1
2
3
4
5
6
7
8
9
10
11
12
13
chmod 4755 /system/bin/su
chmod 4755 /system/xbin/su
chmod 4755 /system/bin/supolicy
chmod 4755 /system/xbin/supolicy
chmod 4755 /system/bin/chattr
chmod 4755 /system/xbin/chattr
chmod 4755 /system/bin/suinit
chmod 4755 /system/xbin/suinit
chmod 4755 /system/bin/sukernel
chmod 4755 /system/xbin/sukernel
chmod 4755 /system/bin/daemonsu
chmod 4755 /system/xbin/daemonsu
chmod 0644 /system/lib/libsupol.so

随后设置su文件的自启选项:

1
2
echo "/system/xbin/daemonsu --auto-daemon &" >> /system/bin/init.zte.post_boot.sh
/system/xbin/daemonsu --auto-daemon

现在我们已经都设置好了。接下来卸载掉360超级root:

1
pm uninstall --user 0 com.qihoo.permmgr

然后关闭掉盒子电视自带的安装限制,并设置自动启动:

1
2
3
4
5
6
setprop config.Android.AppInstallCtrl 3
settings put secure install_non_market_apps 1
settings put global install_non_market_apps 1
echo "setprop config.Android.AppInstallCtrl 3" >>/system/bin/init.zte.post_boot.sh
echo "settings put secure install_non_market_apps 1" >>/system/bin/init.zte.post_boot.sh
echo "settings put global install_non_market_apps 1" >>/system/bin/init.zte.post_boot.sh

连续执行两次exit退出shell,然后安装SuperSU:

1
adb install D:\SuperSU\SuperSU.apk

接着转到盒子,把你的盒子网络连接到可以科学上网的环境,打开SuperSU,不出意外会提示你更新二进制文件,点击更新,按照程序的提示进行操作,更新完毕后就可以正常授权了。

接下来的事情就可以自己选择了,卸载预装,安装当贝桌面这些都可以。预装软件建议通过AirFrozen进行冻结,不需要自己去卸载预装,以免不必要的麻烦。

参考资料:

中兴现场配置工具STB_ConfigTool_V7.6.7_Bin_Site

大江苏b860av1.1无UBOOT 文件救砖成功新的分享。

B860AV1.1-T优化第二弹:获取 root 权限