xysds 发表于 2024-5-5 22:28

四川中兴电视盒子ZXV10 B860AV2.1-T 开二维码 ADB telnet 解第三...

本帖最后由 xysds 于 2024-5-5 22:42 编辑

背景:老家四川中兴的电信IPTV机顶盒,由于电视太老了。安装第三方app使用起来卡得一bi。加上小孩需要看动画片,但是老人需要看电视台。故萌生了机顶盒安装第三方app的想法(要点:穷,换不起新电视)。

设备:网线 可看IPTV ,自带wifi模块。连接wifi就得拔掉网络。
         通过遥控--菜单--文件浏览器--安装app 会提示:对不起,您不能安装此应用
         长按遥控几秒钟,再按返回,可调出调试维护界面。其中可进入开启adb 页面。不过是二维码。网上的算号开启adb 都说无解。附上设备图





自我提升:百度,谷歌,必应 一顿操作猛如虎得到几种说法:
         1、四川B860 二维码开adb 无法做到,只能刷机。但是我需要保留IPTV 刷机就得否
         2、想起路由器那样,拆机ttl 终端 进系统操作。但是网上说 只有输出,无法输入。这里本人已测试。确实ttl 只有输出,无法输入 电路测试过 应该是系统限制
         3、得到一个调试软件 ZTE_STB_Tools_V2.1.1_T02 说是可以开启,不过需要用360 沙箱运行才行。 由于本人不屑于360,未安装360直接运行的。连接始终失败,提升二次加密验证不通过。(这里重点)
                附上工具:由于体积过大,网盘奉上:www.lanzouj.com/ilbtv1xswo0j   密码:666

开ADB:
         由于没找到任何开adb的有效方法
         最后咸鱼找到个远程开adb的。花10RMB 给我远程开启ADB,说是重启设备adb不会掉。咸鱼老哥大晚上的硬是开了好几次,最终他以失败告终。只能开一次性的,设备重启adb就会掉
         期间通过聊天得知,也是用的我上面说的这个调试工具。必须360沙箱运行,才能连接机顶盒。这不是妥妥的浪费了我这么多RMB。
         第二天,本人老老实实装了个360 。用沙箱运行调试工具。果然就这么开启adb 了!能adb,就能连设备后台,还有啥操作不了的呢
         (工具我看vmp加密,无法虚拟机,还挑电脑。我家里笔记本和台式机用360沙箱都运行不起来,工具直接崩溃。最后用办公电脑跑起来了。再通过ksa连接家里电脑进行组网,连接机顶盒。成功开启adb    ksa用法 blog.csdn.net/weixin_42109829/article/details/121201936 ),。


开永久ADB设备重启不掉
      毕竟不想每次连接设备都用调试工具,确实麻烦。
      通过adb终端连接设备后台,发现设备启动会调用一个脚本:/system/bin/init.zte.post_boot.sh
      将系统目录挂载为读写:mount -o remount,rw /system
      终端执行命令,往脚本里面添加启动语句:
echo "/sbin/adbd &" >>/system/bin/init.zte.post_boot.sh

开telnet服务
      通过adb连接发现vi 编辑不好用。就准备开启telnetd 服务连接设备应该方便些。结果发现系统自带的busybox 被阉割了telentd功能。
      我设备是 1.21.0 cpu 通过命令cat /proc/cpuinfo 发现是 armv7的。
      在 busybox 网站 busybox.net/downloads/binaries 下了个版本接近的busybox放入设备bin目录,命名为busybox-all
      终端执行命令,往脚本里面添加启动语句:
echo "busybox-all telnetd -l /system/bin/sh" >>/system/bin/init.zte.post_boot.sh




关闭第三方app安装限制
      坛内有大佬,找不到链接了文中有分析过
      无法安装的文字提示来自:framework-res.apk
      主要控制来自:/system/framework/services.jar
      通过反编译 /system/framework/services.jar 发现是com.android.server.pm.PackageManagerService 中的判断。
      我这里有4处文字限制提示(最直观的就是:对不起,您不能安装此应用)。直接将标识ID 改成其他的。结果发现文字虽然没提示了。但直接输出 应用未安装。
      通过 pm install ***.apk 安装失败会提示:INSTALL_FAILED_USER_RESTTICTED
      接着分析代码,发现还有签名验证。
      终端执行命令关闭签名:setprop sys.check.Signature false
      终端执行命令,往脚本里面添加启动语句,万一那天抽风无缘无故关闭了。加进去无所谓:
echo "setprop sys.check.Signature false" >>/system/bin/init.zte.post_boot.sh
echo "setprop config.Android.AppInstallCtrl 3" >>/system/bin/init.zte.post_boot.sh






      
结果:这是/system/bin/init.zte.post_boot.sh脚本添加命令后的内容。

设备重启后,能直接adb 、telnet 连接机顶盒,安装第三方app一切正常。

第三方app入口:
      考虑到老人,机顶盒设置默认开机进入iptv 直播界面,无任何变化。
      遥控上的”菜单“ 是本地媒体的入口,里面有:视频、图片、音乐、本地文件。通过命令 am monitor 监听,是 HomeMedia.apk 调用 的ZTEFileBrowser.apk
      反编译 HomeMedia.apk,发现是通过包名和类名 启动的app。将文件浏览器的信息改成当贝桌面的信息。这样开机后,通过遥控就能进入当贝桌面。呼出其他app了折腾结束
      目前拔掉网线,自动会切换wifi。 腾讯tv、iqiyi、cibn目前一切正常。
      由于假期结束,单线复用 iptv,intnet 通过路由器openwrt 共用一根网线待下个假期继续折腾吧。


省流:
      1、通过360沙箱运行调试工具,先开启adb
      2、往启动脚本内添加内容:关闭app安装签名验证,app安装控制策略设置、启动adb,telnetd服务
      3、修改本地媒体app入口。


谁像你 发表于 2024-5-6 09:00

感谢教程内容分享
页: [1]
查看完整版本: 四川中兴电视盒子ZXV10 B860AV2.1-T 开二维码 ADB telnet 解第三...