联通DTTV100机顶盒硬探索+免安装第三方应用
【摘要】此文主要记录本人近日对北京联通大唐DTTV100 IPTV(系统版本1.0.1,安卓4.4.4)进行的探索和安装第三方应用的过程。全文分为两大部分,第一部分记录我根据论坛前辈的帖子进行拆机,利用ttl-usb转接器连接电脑,以root权限进入底层系统的过程。整个过程主要参照greatzane同学写的《dttv100教程》(由于本人账号权限不够,不能粘贴链接,抱歉)。该部分以原贴内容加本人实操注释的形式来展现,力图使更多缺乏技术基础的同学能看懂。第二部分详细记录了本人在免拆机的情况下,利用PC搭建的web服务为机顶盒安装第三方应用市场的过程。该方法对于有网络基础的同学来说十分简单,但我会尽可能详细地描述过程,尽可能让零技术基础的同学能按照步骤进行操作。
【第一部分】【用ttl-usb转接器连pc,root进入系统】
一、原理
该通过将主板串口用ttl-usb转换器连接到电脑,按住reset键同时开机,便可以root权限进入到recovery模式。然后通过挂载系统分区,修改启动脚本,使系统在正常启动时能打开adb 调试服务,随后在PC端利用adb调试连接机顶盒安装第三方应用。理论上,拿到root权限其实可以干任何事情,但因为水平有限,本人最终实际上什么也没干成。按照帖子里的方法,adb 调试服务也没有启动成功。
二、操作过程
(桔色斜体字部分为原贴内容)
版上的大神之前已经成功了dttv100,但是大神写得比较简略,对于小白实操有一定困难。本人按照大神的方法尝试了一遍,把具体步骤尽可能清楚的描述一下。
1. 拆机,下方软脚内有螺丝两枚,其他都是周边的卡扣,胆大心细即可拆开。
2. 焊接TTL的针3枚,并焊接下面的两组触点,具体位置参考帖子《请教联通新款大唐DTTV100怎么附拆机图”》
[楼主:主板焊接的位置和线序图我直接从原贴搬运过来了,标得很清楚,按照图示焊接到转接器对应标注的针口上即可。]
图示:主板焊接线序
图示:TTL-USB转接器焊接
3. 连接USB-TTL设备,putty连接电脑,波特率写为1500000,注意先开盒子电源,再插入USB,否则可能不成功。我首先使用了芯片为PL2302的USB-TTL设备,始终显示乱码,后购入CH340G芯片的才成功,可见不是所有USB-TTL的串口设备都可以使用。
[楼主:以关键字“CH340G”在某宝搜索就能买到合适的TTL-USB转接器,很便宜,不会超过10块。在win7系统上需要安装对应驱动才能正常使用该转接器(卖家会提供)。装完驱动后,将转接器插入USB插口,打开“控制面板”-“设备管理器”,在“端口(COM和LPT)”一项中会增加一个“USB-SERIALCH340(COM3)”的节点(端口号以实际看到的为准,我的电脑显示是COM3)。
图示:装完驱动插上转接器后的设备管理器
在putty中填写设备管理器中所看到的端口号和波特率1500000,选择串口通信之后即可点击“打开”,此时会出现命令行窗口,在机顶盒开机后会打印出相关信息。
图示:putty填写内容
4. 此时putty上会显示引导log,但是无法输入。按住reset键重新开机,log开始大量滚动时可以松开reset键,等log滚动停止按回车键,提示#,进入命令行模式。
[楼主:不按reset键直接开机进入正常系统,起来后无法在putty中输入;按住reset键开机会以root权限进入recovery系统,此时可通过在putty进行命令行操作。(reset键在主板usb和hdmi接口中间)]
5. 此时的命令行是运行在recovery中,与正常的引导并不相同,我们需要修改正常运行时的system分区,要将它mount起来。命令行中大部分linux命令不能执行,但是有两个工具包busybox和toolbox,除了cp命令之外基本busybox里都有,推荐使用busybox中的命令。
6. 执行busybox mkdir /mnt/system 建立挂载system分区的目录
7. 执行busybox mount /dev/block/mmcblk0p15 /mnt/system 挂载system分区
8. 大神文中提到system/bin/startsoft....sh会被执行,所以可以在其中添加adbd,我执行busybox echo "/sbin/adbd">> /mnt/system/bin/startsoft....sh(这个sh具体名字到时ls查一下,我忘了)加入了adbd启动项,也在后来正常启动时开到了adbd开启的log,但是之后我发现了一个悲催的现实,导致无法使用,这个后面说。
[楼主:那个脚本名字叫 startsoftdetector.sh,我在脚本最后面加了一句 /sbin/adbd之后,重启正常引导系统,adbd并没有启动。在pc端装上adb客户端之后,用adb connect命令尝试去连接机顶盒地址也提示失败。]
9. 另外除了adbd,可以在u盘中拷入自己想要添加的apk文件,然后通过busybox mount /dev/block/sda1/mnt/usb_storage 挂载u盘(其中sda1不是固定的,要ls看一下),并toolbox cp /mnt/usb_storage/aaa.apk/mnt/system/app 将apk拷到系统app中。这样就可以在电视盒我的应用中使用了。
[楼主:我将当贝市场的apk文件拷到了app目录,但机顶盒连电视重启后,并不能在“我的应用”中找到。我用这个方法并不能安装第三方应用。]
10. 现在说说上面提到的悲催的现实:拔掉iptv那根网线无法正常开机,会卡在iptv的验证。先插上网线开机,再拔掉网线连wifi可行,但是这样盒子不会记录wifi的信息,每次要重新填密码连wifi,并且经过这个网络切换我发现adbd并不好使了。iptv的网线除了看iptv并不能上网,所以装的app如果不用wifi无法使用网络。
基于上面的悲催现实,最终我只是安装了app,并不能使用,因为我还打算保留iptv。这个显得没多大意义。
[楼主:拔掉iptv网线的确会显示iptv验证失败,但过一会儿还是会进入到系统主界面,可以进行后续操作。另外,在后面我用搭建web 服务器的方式装上当贝市场后,机顶盒连上网线是可以同时观看iptv和使用第三方应用上网的。并没有出现连上网线只能看iptv,不用wifi第三方app不能上网的问题。]
【第二部分】【搭建web服务器免安装第三方应用】
一、原理
该机顶盒自带“应用商城”,且该“应用商城”可以在系统设置里被删除,但删除之后在系统首页里仍然有“应用商城”的图标,点击该图标,会重新下载安装“应用商城”,我们可利用这个下载安装“应用商城”的过程来安装第三方应用。
首先需要嗅探出点击首页图标下载“应用商城”时所产生的真实http请求,然后利用家用路由器或任何方法组建一个局域网,将IP段设置为前面嗅探出下载“应用商城”的真实http请求中服务器所在的公网网段。在这个局域网中搭建web服务器,使用和真实http请求服务器相同的公网地址,按真实http请求中的路径将需要安装的第三方app发布到该web服务器中,并将应用名修改为真实http请求中的文件名。将机顶盒开机后接入该局域网,在首页图标下载“应用商城”,即可将我们需要的应用下载并安装成功。(我在其它帖子中见到有通过嗅探“应用商城”中新东方应用的方法来安装第三方应用的,但是现在新东方那个应用已灰掉不能下载了。我试过自带“应用商城”中其它的东西,看起来都是些视频资料,没有抓到下载apk的请求)
以上为该方法的原理,相信懂一点网络的同学看到这儿已经知道该怎么做了。基于这个原理,可用的方法和工具很多。我用到的工具是普通人家里都有的电子设备和网上随手能下载到的软件,所用到的硬件主要有一个家用无线路由器、一台win10的笔记本、一台win7台式机(其实只用那台笔记本就够了,但那是我老婆的,她老要使用,所以我只在嗅探真实http请求这一步用了一下,后面就用了另一台win7台式机做webserver),软件主要有wireshark和windows 7。需要详细操作步骤的同学可以接着往下看。
二、操作过程
1、嗅探真实http请求
在这一步我用到了win10的笔记本,是因为需要用它共享无线热点,以便让机顶盒的wifi连到这个热点,使后续机顶盒发起http请求的流量能经过这台笔记本,以便我抓包嗅探。
a. 在笔记本上开启无线热点共享。打开网络连接,确认共享的无线连接的名字,在这个笔记本上是本地连接2。
图示:在win10上开启热点共享
图示:查看共享连接
b. 打开机顶盒,进入“我的设备”-"系统设置"-"网络设置",选择连入win10笔记本共享的无线热点。该机顶盒有个特点,只有在有线连接断开的时候,wifi才会开启,所以,此时需要拔掉机顶盒的网线,等待几秒钟之后机顶盒的wifi便开始工作了。
c. 在笔记本上下载wireshark(随便百度之),一路默认下一步进行安装。打开wireshark,双击需要抓包的连接(本例中是本地连接2),开始嗅探共享的无线连接。
图示:wireshark 开启嗅探共享无线
d. 在机顶盒的“我的设备”-“我的应用”界面中,卸载自带的“应用商城”
e. 回到机顶盒首页,点击“应用商城”,显示开始下载,等待下载完毕。
图示:点击下载“应用商城”
f. 停止wireshark抓包,在过滤栏中输入“http”,在剩下的内容中找到 GET /launcher/data/1553590978/CUTV_DSMClient_v4.5 HTTP/1.1.apk ,记下这个地址,后面就全靠它了。
图示:停止抓包
图示:抓包嗅探结果
g. 将笔记本还给老婆,嗅探过程结束。
2、在win7 PC上开启IIS web server服务
a. 在“控制面板”-“程序和功能”中点击左侧“打开或关闭Windows功能”,在弹出的选择框中勾选“Internet 信息服务”中的“Web管理工具”和“万维网服务”,点击“确定”。
图示:开启IIS服务
b. 在IIS默认的根目录中根据前面嗅探出的真实http路径创建目录。在C:\inetpub\wwwroot中创建目录launcher,在launcher中创建目录data,在data中创建目录1553590978,将提前下好的当贝市场apk安装程序重命名为CUTV_DSMClient_V4.5.apk,放入1553590978目录。
图示:创建好的目录路径
c. 添加MIME类型。在“控制面板”-“管理工具”中打开“Internet信息服务(IIS)管理器”,双击“MIME类型”,点击右上方“添加”链接。
图示:MIME类型
在弹出的新窗口中按图示依次输入“apk”,“application/vnd.android.package-archive”,点击确定。
图示:添加apk MIME类型
d.映射7084端口。通过前面抓包我们发现真实http请求中访问的是服务器的7084端口,因此,我们需要将IIS对外提供服务的端口由80改为7084。
首先,点击IIS管理器左侧根节点,回到初始页面,点击右侧“停止”按钮,停止IIS服务;
图示:停止IIS服务
然后,点击左侧根节点下“网站”节点下的“Default Web Site”,接着点击右侧“绑定链接”;
图示:找到“绑定”链接
在弹出的窗口中,通过点击“编辑”按钮,将80改为7084。
图示:绑定7084
最后,回到根节点,点击右上角“启动”链接,启动IIS服务,web服务器搭建即告完成。
3、利用无线路由器搭建模拟真实地址的局域网
为了不影响老婆上网,我决定不动家里连光猫的路由器(下图中的路由器1),而是另外找了一个路由器来干这个事情,也就是下面拓扑图中的路由器2。
图示:拓扑图
a. 配置无线路由器为路由模式,lan设置中,本机地址设置为210.13.0.1,掩码255.255.255.0;开启DHCP。
b. 将前面设置好IIS的PC接入路由器2的网络,将对应网卡地址修改为210.13.0.175。修改PC网卡地址的操作如下图所示
图示:打开网络和共享中心,点击更改适配器设置
图示:点开对应网络连接属性,双击Ipv4
图示:配置静态IP,确定。
c. 此时可用手机接入路由2的无线网络,打开手机浏览器,在地址栏输入
如果提示成功下载apk文件,则说明web服务已准备好。
4. 下载“应用商城”安装当贝市场。
a. 回到电视机顶盒,在“我的应用”界面再次卸载“应用商城”。
b. 修改机顶盒的wifi设置,使其接入路由器2的无线网络中。
c. 回到机顶盒首页,点击“应用商城”,等待起下载完成后,进入“我的设备”-“我的应用”中查看,此时当贝市场应该已经安装完毕。从此,进入崭新的世界。
图示:安装成功后的第三方应用
大唐DTTV100联通版3228H芯片第三方破解刷机免拆线刷固件下载 http://www.xiaobaishuaji.com/rom/488971.html 没有图吗?这样看着有点费劲{znds1} eswgdeh 发表于 2019-4-3 14:12
没有图吗?这样看着有点费劲
咦 这不是草稿么?你们竟然能看到。我才刚开始写,马上要搬砖了,晚上回家继续。 加上图更好~ 还得弄个自动切换双网的脚本,这样才能并存,可以多参考下论坛其他网友的双网教程脚本 勿戒 发表于 2019-4-3 14:17
咦 这不是草稿么?你们竟然能看到。我才刚开始写,马上要搬砖了,晚上回家继续。 ...
哈哈哈哈,坐等楼主搬砖回来上图,目测能火{znds1} 老铁666!必须支持一波! eswgdeh 发表于 2019-4-3 14:12
没有图吗?这样看着有点费劲
晕倒,写了半天,提交的时候说含有不良内容,提交失败了。 精华帖,楼主写的非常详细 感谢分享 这么详细的教程,楼主用心了 这个帖子牛了,技术大牛 特意注册账号还给都住评论,感谢 此贴只因天上有人间难得几回闻 楼主应该是个老司机,操作娴熟 昨天看还没有图今天就补上了,真好