中兴ZXV10 B760E root详细全过程——小白玩机_其它品牌盒子

我实际操作成功,但要注意,superuser下载3.3没成功root,换Superuser-3.2-RC3-arm-signed.zip就成功root了。然后就是各种操作要注意cmd和adb shell切换,还有串口操作互相交叉着来,最终成功。以后就不用每次都拆机上ttl线了。

04.09 更新:

本以为全OK了,root的事情还没结束。只好再更新下,见后面。

04.02 总结:

root成功并且安装了sshd。感觉就没有刷固件的必要了。就此作个总结吧。

从 陪你一起老,JZJ7979 的贴子中学了很多。静水流深jsls提供了关键的帮助。在此感谢前辈们的帮助。* I4 [: @2 X& f) l* G. N

我们的社会浮躁且急功近利,无数小白们希望饭来张口,不知道享受求知探索而成功的成就感。7 p1 g9 q* e8 q# e9 D- L$ E2 P

虽然这样,还是做了个懒人包,去下载吧。不过密码只能回复可见了。不会再提供解答,有问题,仔细看贴吧。

如果不仅希望know how还想know why,其实不必下载,因为所有的信息和探讨本贴下面都有,只要花点时间。‘ Q5 P  N1 [9 b0 S

 

 

2015.03.10  起源:9 v! |3 |5 H+ g# A, _7 n

移动公司宽带IPTV带的机顶盒,发现还带USB口,本以为可以外置硬盘放高清呢,结果怎么也找不到菜单。上网一搜才知道阉割的水深火热。明明给自己用的设备,小鸡鸡攥别人手里,越是强权越是可恨。所以决心要破了这个,上网搜教程发现并不容易。边干边学吧,本文就作个记录,方便后来者。

因为本人小白没玩过线刷,过程会罗嗦,高手见谅别嫌烦。/ ^1 \4 K9 ?6 Q7 h/ T

$ P2 |! C- j/ s6 v% V

机器型号:智能机顶盒(Wi-Fi)中兴ZXV10 B760E(H)4 m7 _: ^+ r  ^3 a” X% K5 ^

因为之前知道阉割的利害,基本确认必须走adb破解的法子。

电子市场买来USB-TTL接头,(BTW,实体店要20,等的起还是网购吧)还不带杜邦线。没线难不住我,找了根旧光驱音频线,菜刀劈开,干吧。

1)核对下USB-TTL接头的芯片,PL2303HX,下驱动装上,OK

2)我的电脑系统WIN7 64,Rapidtest.exe不好用(提示Unable to open port),于是下载ACCESS PORT1.37。ACCESS PORT Win7下可用,不过要手动设置下COM口,在设备管理器下可以找到COM口信息。

3)USB-TTL头短接 RX TX,ACCESS PORT测试,发出的代码都收到了,OK3 S9 Z+ c7 V7 ]+ ^. U* X

4)拆盒子,听说这货没螺丝,上平口螺丝刀底板直接就给别开了。$ z/ m9 K, g3 u& O” Y) N& ]; X

5)三个螺丝拆了板子翻过来

找到USB接口旁边的六针座。

6)估计个大概先接上试试。ACCESS PORT测试,打开B760E,一个回车发出,收到:; f* M+ a) W0 ]” U

root@android:/ # , N) j, E0 j/ b2 g’ k. X2 x2 x

一次成功啊?我都不敢相信。赶紧记录针脚线序:以X1为基准! s% y9 B: Q8 K/ m) T5 w+ C3 Z# C: w: @

(5 ) (6 )

(3 ) (4 )( j8 L, `3 j4 M! A- t+ y2 v

(X1) (2 )

6        =        GND

2        =        TX

X1        =        RX  ( e1 |/ H5 u# M* Z: W- o

这里要注意,收发两端RX TX 要交叉连接的。通常电压不超5V,错了就反接一下,不是问题。

7)在B760E上启动adbd。这需要发给B760E一个命令。考虑到ACCESS PORT已经得到了命令行提示“root@android:/ # ”,我试了下用ACCESS PORT完全可以。  W( ], X: K- K0 ?- t4 [

即当B760E提示“root@android:/ # ”时,发出:

adbd &      回车: `% l# }* p7 P: t

也就是让adbd服务在后台运行等待连接。

8)测试adb,下载好adb软件,放到C:根目录。5 f( ]1 X4 {9 ~’ V& M’ l

打开windows命令行cmd.exe,在C:根目录运行 adb connect xxx.xxx.xxx.xxx:5555  x6 x( f8 w. F

提示 connected to xxx.xxx.xxx.xxx:5555

OK

9) adb install xxx.apk,试装了个ES浏览器,提示SUCCESS。: i+ a0 q  @4 {: Z7 B! I

10)但是,安装的apk在B760E中找不到。而且到此为止,我还是找不到任何原界面外软件。我甚至10086重置了IPTV盒子出厂设置,仍然无法跳过。) k. j/ ?- }* I5 K/ j- s& `/ m

11)看来移动公司是把阉割的管理器做到B760E固件里,所以到这里折腾了好久。$ a& \’ |  I7 b/ `

其实是没经验,因为JZJ7979提示的很清楚:悟空助手8 O4 f; |) N; W0 ^1 L

下载悟空助手装上,设定PC和B760E的IP内网同网段,显示找到机顶盒的IP,OK/ M- U! j0 o( T2 o, k0 Q8 }2 n

这里注意要确保机顶盒上adbd是正在运行的,因为悟空助手实际也是同过adb机制操作的。: D  g! Q! I) `5 k# \

12)现在关键是要有一个桌面launcher替换掉B760E内置的:3 i. d- z+ m8 [, f% J7 U

当贝桌面,下载apk,拖进悟空助手就自动安装了。& O  \4 C, D! N- r

装好后,B760E已经在TV界面上提示了,选择当贝桌面,DONE!( A! h* Y0 N# Q% O* |, {, J5 j

 

总结下:

a) 再次感谢JZJ7979,提示的每一步都很关键,我走了弯路是因为缺乏经验。; b! f; t) g0 m) t1 X2 n# c

b) 我知道老主机时代有串口终端的,USB-TTL接头其实是串口终端的延续,配合PC上的驱动和终端软件,把PC虚拟成一

台终端机。因为是本地终端,系统给的是root权限。所以启动adbd,装apk,这都不是事儿。  u; ?  ?$ M0 j3 {8 G

c) 回头研究下刷固件,机器复原也不用从头再来了。1 y; J; C4 c6 Z7 `  z

 

2015.03.30更新:

– 针脚图在六楼: E4 Y+ _% @0 J) }# F& }

– 桌面的说明。仅针对我自己B760E(山东移动)

我的未破解前,开机时自动登录进IPTV,也取消不了,IPTV的界面无浏览器,无法安装任何应用。设置页面也阉割且固化了。” L# v, b’ v) e% Y  \2 [# _! B

用悟空助手安装当贝桌面后,B760E立即在TV上提示选择当贝桌面还是移动的IPTV,用遥控器选当贝桌面就OK。( H6 R6 A& [+ z8 p# J

有了当贝桌面,能安装新应用,怎么都好办了。

此后使用时,只要按遥控器应用键,就会出现桌面选择。/ O+ |; u/ P! z  y& U/ {” Y

 

要注意的是,开始用adb install 返回消息是SUCCESS,但是盒子上找不到安装的软件。而用悟空助手安装当贝桌面就成功。$ [1 u’ R9 m. |) P! Q! f: U1 E

所以,悟空助手安装是必须的。关键是悟空助手安装完后立即提示并启动了当贝桌面。为什么这样,我还不清楚。( r( M3 y, W! B6 M3 l) j

 

后续其它软件安装,用当贝桌面,常用的都可以装。有些小众软件,比如quicksshd,下载APK,‘ W3 y” |, t& A4 Z$ m

adb push quicksshd.apk /tmp

然后在盒子上es浏览器安装就行。

; c9 x3 ^& `3 ^. D

 

2014.04.02 更新:

root,

本以为有了#,root很容易。没想到还挺费劲。光拷贝su无数遍,被一个后台守护进程玩弄。还多亏静水流深jsls的指点。

然后su Superuser.apk配合又不能运作, 陪你一起老 adb 包中的试过,不行。+ p% H  m4 ^* w3 ?& Q$ H& H

后来尝试supersuer的3.2版本,OK。本人下载3.3版本不行,不知道是不是版本没下对,这里提供3.2的下载地址:

http://www.mediafire.com/download/cr209hb5e2fr910/Superuser-3.2-RC3-arm-signed.zip

http://d-h.st/kjn

1) 回到dos命令行,提取Superuser-3.2-RC3-arm-signed\system\的2个文件:app\Superuser.apk以及bin\su

adb push su /tmp

adb push Superuser.apk /tmp

2) 杀掉stbmc进程。这个应该是中兴自己搞的,启动时通过zte_init.rc加载。目的就是监控并删掉/system/bin和xbin下的su

adb shell 连接到B760E,

ps | grep stbmc     得到stbmc的PID+ h8 T# g2 [- f” I5 R+ X- d* W

kill PID         杀掉stbmc对应的进程号‘ K/ r& ]0 ~; I9 U: Y) ]7 H

mv /system/bin/stbmc /system/bin/stbmc.bak    这样重启后stbmc也无法再启动。不知道是否有其他影响,暂时先改个名好了。

3)没有root,先有鸡还是先有蛋?所以指望Superuser自己装好su是不现实的。必须 adb shell $ y, R’ S& }+ d3 o9 z2 i’ ?5 J

cp /tmp/su /system/bin/su

cp /tmp/su /system/xbin/su, S  H( ?8 z( s3 Q2 u; g  y

chmod 4755 /system/bin/su# M0 a6 ^( }9 I: e5 [

chmod 4755 /system/xbin/su

4 )  然后,在盒子TV界面上启动ES文件浏览器,到/tmp文件夹下,启动并安装Superuser.apk

5)这样root好了,再有需要root权限的APP,Superuser会自动弹提示,点允许就可以了。‘ I: ^9 m3 S- i9 L

 

创建sshd‘ W7 {, x$ e. Y5 x$ _

USB-TTL是终端直连倒不要紧,但是一个root权限的adbd开着,连密码认证都不要而且WIFI可以连接,安全风险太大了。  }  S5 t2 v) n/ k+ Y* {0 T/ _

所以最好是开sshd,平时把adbd关掉,需要时再打开。其实就是用SSH连接机制取代adb shell% c2 T; v7 @% j2 m

1) 下载quicksshd的APK,

adb push quicksshd.apk /tmp! K# {  L0 P) X& C0 N% H

2) 用es浏览器安装,并设置密码,启动sshd服务。quicksshd默认的用户名只是root,密码随便设。设置后看提示确保sshd在后台等待。

3)在PC端启动putty,设置盒子IP,选SSH,端口2222。我习惯把连接快捷方式保存为IPTV SSH。点open

4) 输入登录名root,密码。就登录到盒子了。* G  y6 h- ~/ `; @’ H8 E

5)测试/system/xbin/su, TV界面上提示申请root权限,点允许。得到#提示符,ok。这样就有了可以升级root权限的ssh shell

6) ps | grep adbd 然后杀掉adbd的PID。– A; I) ], n3 Z8 e+ L) E! P

今后需要adb连接时,启动quicksshd,PC端putty登录,su 然后 adbd&就可以了

 

04.09 更新:# {% F; q0 }# w; G

本以为全OK了,但是有反映root后遥控器关机和设置键实效的问题。我测试后果然。8 e( |1 d1 B! y/ F- Q* Y

主要原因是为了root停掉了stbmc,还把stbmc更名为stbmc.bak。看来stbmc还有其它功能,不能简单一停了事。7 @* e2 z/ Q/ p. E5 a

我想了下,这个stbmc是个编译后可执行程序,一般没必要加密,其中关于针对su的操作应该可以看到。

那么ssh登录,搜索下看看:

root@android:/system/bin # cat stbmc.bak | grep \/system\/bin\/su

/system/bin/su! i1 w0 p” l& `” c7 @

@@@@@======> /system/bin/su exist, delete it.6 c+ j4 Z) U7 T  K/ W

rm -r /system/bin/su

root@android:/system/bin # cat stbmc.bak | grep \/system\/xbin\/su

/system/xbin/su% {: S% `+ ]5 v’ L4 t

@@@@@======> /system/xbin/su exist, delete it.

rm -r /system/xbin/su  k+ K2 _8 Y1 d! o6 x, b9 a

‘\’是转义符,发现stbmc中果然内置了删除su的命令。而且是明文shell命令,那这样的话,直接改掉应该可以吧?0 {. M* S0 D9 T

 

sed ‘/^rm -r \/system\/bin\/su/ s/^rm/#m/’ stbmc.bak > stbmc.tmp

sed ‘/^rm -r \/system\/xbin\/su/ s/^rm/#m/’ stbmc.tmp > stbmc# i9 v9 V( t/ W$ S8 H; X, u

sed命令容易出错,我是实验OK才进入实际操作的。说明一下:

1) ‘\’是转义符,’\/’实际就被解释成’/’

2) 所以sed命令前半段就是搜索包含’rm -r /system/bin/su’的行4 {2 g& J” P’ P, C’ z; O  e3 k! u0 Y

3) ‘s/^rm/#m/’ 就是把行首的’rm’替换成’#m’, bash会认为#开始的是注释行而忽略后续

上面的sed命令实质就是把rm这行shell命令给注释掉了。

注意因为stbmc是编译的可执行文件,我怕有绝对地址引用,修改时尽量不要影响文件其它部分,包括文件大小,因此只改了行首一个#使得这行删除命令失效就够了。  P  |( \1 Y; s7 n  ~

完成后,测试下:

root@android:/system/bin # ls -l stb*& Q9 X) t  V0 l4 c0 o2 `7 h+ V

-rwxr-xr-x root     shell       68292 2008-08-01 20:00 stbcfg3 n  D# G9 v. t- {  L

-rw-rw-rw- root     root       304660 2015-04-09 23:11 stbmc

-rwxr-xr-x root     shell      304660 2008-08-01 20:00 stbmc.bak

-rw-rw-rw- root     root       304660 2015-04-09 23:10 stbmc.tmp2 E1 E4 H) l3 A- J” R” J* J

root@android:/system/bin # cat stbmc | grep \/system\/bin\/su

/system/bin/su

@@@@@======> /system/bin/su exist, delete it.

#m -r /system/bin/su8 K5 C: C5 Q+ w, V3 m( Y

root@android:/system/bin # cat stbmc | grep \/system\/xbin\/su2 a) x. [) N- H3 {/ c

/system/xbin/su# H# q6 ?! a. S7 [: x6 u5 W

@@@@@======> /system/xbin/su exist, delete it.

#m -r /system/xbin/su9 y7 X) K, _3 k$ W

可以看到文件大小保持不变,而且stbmc原先的删除su的命令实效了。

然后恢复文件。

rm /system/bin/stbmc.tmp

chgrp shell stbmc

chmod 755 stbmc

 

重新启动盒子,因为stbmc又回来了,zte_init.rc启动时加载为后台进程。$ `7 h! S* n) s) k% H/ X6 t

但是其中的 rm su的命令已经实效了,su不会被自动删除了。! V( w* N1 u( s’ b

测试root,仍然正常。遥控器关机,正常!

来源URL:http://www.znds.com/tv-263607-1-1.html

《中兴ZXV10 B760E root详细全过程——小白玩机_其它品牌盒子》有3个想法

  1. hello,
    can you send email me step by step in english?
    I use google translate but it difficult to understand.

    thanks in advance.

评论已关闭。