高清范

百度 论坛搜索
分享到:
发表于 2016-11-9 17:50 | 显示全部楼层 |阅读模式
本帖最后由 jackyspy 于 2016-12-1 16:33 编辑

0x00 不甘寂寞
创维E900-S这款悦Me盒子功能还算可以,但不能接受它禁止安装第三方软件这一点。网上搜了半天,可能是比较新的机型没人关注,找不到任何方法,只好自己动手试试。

0x01 Fiddler寻路
请出小伙伴Fiddler,盒子上Wifi挂代理。在高级设置的WLAN中,在已连接的SSID上按住确认键几秒钟会出现修改网络选项,设置好代理服务器(运行Fiddler的机器)的IP和端口。

应用市场里面安装几个软件,抓包看到一些APK下载地址。在Fiddler的AutoResponder中替换为需要安装的apk,比如电视猫。再次安装会出现下载不完整的错误提示,初步猜测对文件大小或者Hash值进行了校验。下载原始文件,修改一个字节,AutoResponder替换,发现还是同样的错误,基本判定是对文件Hash进行校验。请求的文件名包含一个32字节的16进制串,估计是MD5,但是经过计算,与文件实际MD5值并不相同。怀疑是经过加了Salt或者其他处理方式得出的最终结果,不知道算法的话无法伪造。而且Url也不是通过网络请求获取,估计是在应用市场里面内置的数据。

想劫持应用市场的路不通,只能换条路走。还是开着代理,重启盒子,逐条观察Http请求。发现了一个更新应用的请求 http://appStoreRrc.cnitv.net:8090/tv/updater2?userId=&mac=&brand=YUEME&model=E900-S&areaNo=null&osver=990104900.1008000000.10000000200&applist=[{"pkgName":"com.keylab.speech.core.yueme","version":"3.02.008"},{"pkgName":"com.keylab.speech.view.yueme","version":"3.01.008"},{"pkgName":"com.hisense.bluetooth","version":"3.01.008"}],
返回的Json格式化之后如下:
  1. [
  2.     {
  3.         "result": {
  4.             "code": 0,
  5.             "description": "成功获取升级信息",
  6.             "appURL": [
  7.                 {
  8.                     "pkgName": "com.keylab.speech.core.yueme",
  9.                     "version": "3.02.008",
  10.                     "isUpdate": false,
  11.                     "url": ""
  12.                 },
  13.                 {
  14.                     "fileName": "aiView_YueMe.apk",
  15.                     "appName": "语音助手view",
  16.                     "pkgName": "com.keylab.speech.view.yueme",
  17.                     "version": "3.02.008",
  18.                     "isUpdate": true,
  19.                     "url": "http://RSAppStore.cnitv.net/TV_appation/ctviptv/AD/aiView_YueMe.apk",
  20.                     "md5": "a5e7af5648aa6d2a6d34ffdc925857c0"
  21.                 },
  22.                 {
  23.                     "pkgName": "com.hisense.bluetooth",
  24.                     "version": "3.01.008",
  25.                     "isUpdate": false,
  26.                     "url": ""
  27.                 }
  28.             ]
  29.         }
  30.     }
  31. ]
复制代码


于是打算在此做文章。同样的,在Fiddler中拦截替换该请求,保证有一个应用的isUpdate值为true,它就会自动尝试下载安装该apk。AutoResponder中替换所有*.apk请求指向本地apk文件,重启盒子。Fiddler里面看到的确下载了我替换的apk文件,再到盒子里面看一下,安装成功!!

至此,基本有比较清晰的思路了。拦截update请求,将返回的JSON中isUpdate值置为true,url替换为真正需要安装的apk的地址。url如果不是可以直接访问下载的互联网地址,而是本地apk文件的话,进一步在Fiddler中进行拦截替换。

经过测试,一般系统启动时会检查3个内置软件的版本更新情况,如果返回的JSON中应用列表数量小于3的话,则不会下载安装。如果返回数量大于3,则只下载安装前3个应用。所以这种方法盒子每次启动安装的软件数量是有限制的。

0x02 Go小程序
按照前面的方法,已经可以正常安装第三方软件了。但是,还是嫌步骤复杂了一些,尤其是要帮很多朋友大量安装的话就太麻烦。

简单用Go语言实现了一个小程序E900-S-proxy (github.com/jackyspy/E900-S-proxy),实现代理和数据替换功能。只要把待安装的apk文件放到同一目录下,启动程序,即可在电脑上启动一个默认端口为8080的代理服务器。在盒子上设置HTTP代理指向这台电脑的IP,重启设备就可以实现自动安装,大大简化了操作过程,降低门槛。存在的局限是每次最多只能安装3个软件。

最后,软件安装完毕后,别忘了把HTTP代理取消。

0x03 更多……
除了设置HTTP代理服务器IP端口意外,其实根据HTTP代理的本质,还可以通过DNS劫持来实现。具体而言,可以在路由器上将域名appStoreRrc.cnitv.net和PROXY都指向运行程序的电脑,当然代理端口要改为8090才行。

尝试了3款不同一键Root工具,都没能搞定这款机器。更多玩法,期待高手们分享。

本文由jackyspy首发于高清范,转载请注明出处!

-----------  2016.11.17 更新 ------------
修改编译了一个版本,命名为fakeServer。适用于无法在盒子上设置代理的朋友。
该版使用前面简单提到过的DNS劫持方式,将appStoreRrc.cnitv.net这个域名指向运行程序的电脑IP地址。
最简单的方式是在路由器上增加一个host(不同路由器有不同实现方式)。次之,自行搭建DNS代理,在盒子上设置DNS服务器IP。

再次说明,本文仅提供一种在E900-S上安装软件的思路,不包含任何root相关内容。稍微有点编程基础的人都不需要用到我提供的程序,自己用Fiddler就可以搞定。另外程序源码托管在Github上,可以自行使用Go语言修改编译。

-----------  2016.11.27 更新 ------------
增加一个自带DNS代理服务器的版本,适用于盒子内无法设置HTTP代理的情况。
运行内置DNS版本程序,在盒子里面设置网络的DNS服务器地址为PC的IP地址。

更简单的方法参见新帖《创维E900-S悦Me盒子完美破解方案

附件是编译过的exe文件。
游客,如果您要查看本帖隐藏内容请回复或点击我就看看,不说话!



本帖评分记录金钱 范币 收起 理由
wmshizheng + 10 赞一个!
wenl + 20 赞一个!
总评分: 金钱 + 10  范币 + 20 
发表于 2016-11-9 21:32 | 显示全部楼层
11111111111111111111111111111111
回复 支持 反对

使用道具 举报

发表于 2016-11-9 21:48 | 显示全部楼层
深度技术好文!作者功底深厚啊!!!
回复 支持 反对

使用道具 举报

发表于 2016-11-9 23:32 | 显示全部楼层
#够VR,购痛快# 暴风超体电视就是牛气
回复 支持 反对

使用道具 举报

发表于 2016-11-10 08:40 | 显示全部楼层
靠靠靠靠靠,感谢
回复 支持 反对

使用道具 举报

发表于 2016-11-10 08:40 | 显示全部楼层
靠靠靠靠靠,感谢
回复 支持 反对

使用道具 举报

SWS
发表于 2016-11-10 10:46 | 显示全部楼层
楼主研究够深
回复 支持 反对

使用道具 举报

匿名  发表于 2016-11-10 14:21
#够VR,购痛快# 暴风超体电视就是牛气
匿名  发表于 2016-11-10 14:21
#够VR,购痛快# 暴风超体电视就是牛气
发表于 2016-11-10 15:50 | 显示全部楼层
在创维E900-S悦Me盒子上安装第三方软件
回复 支持 反对

使用道具 举报

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册加范币

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表