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格式化之后如下:

[{"result": {"code": 0,"description": "成功获取升级信息","appURL": [{"pkgName": "com.keylab.speech.core.yueme","version": "3.02.008","isUpdate": false,"url": ""},{"fileName": "aiView_YueMe.apk","appName": "语音助手view","pkgName": "com.keylab.speech.view.yueme","version": "3.02.008","isUpdate": true,"url": "http://RSAppStore.cnitv.net/TV_appation/ctviptv/AD/aiView_YueMe.apk","md5": "a5e7af5648aa6d2a6d34ffdc925857c0"},{"pkgName": "com.hisense.bluetooth","version": "3.01.008","isUpdate": false,"url": ""}]}}
]

于是打算在此做文章。同样的,在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,实现代理和数据替换功能。只要把待安装的apk文件放到同一目录下,启动程序,即可在电脑上启动一个默认端口为8080的代理服务器。在盒子上设置HTTP代理指向这台电脑的IP,重启设备就可以实现自动安装,大大简化了操作过程,降低门槛。存在的局限是每次最多只能安装3个软件。

需要Windows下编译好的exe文件的朋友,请移步我在高清范发的帖子。

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

0x03 更多……

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

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

在创维E900-S悦Me盒子上安装第三方软件相关推荐

  1. 可以给小米盒子装鸿蒙系统吗,小米盒子可以安装第三方软件吗_小米盒子怎么安装第三方软件-系统城...

    现在小米产品深受很多人的喜爱,无论是手机.电脑.还是电视等,都有很多忠实用户.一些使用小米盒子的朋友想要知道,小米盒子可不可以安装第三方软件?当然可以,接下来小编就给大家带来小米盒子安装第三方软件的方 ...

  2. 怎样在iPhone(touch)上安装第三方软件

    从华容道到Google Maps应有尽有,让你目不暇接!快来体验全新的iPhone吧! 查看你的iPhone(touch)固件版本 将iPhone连上电脑,然后在iTunes的设备-->摘要中查 ...

  3. 蛇呆在树上,整天无所事事_指南:如何在无所事事的盒子上安装OroCRM

    蛇呆在树上,整天无所事事 OroCRM is a CRM application we'll be describing in a post dedicated to it tomorrow. Thi ...

  4. 计算机保持在线的几种方法,还在为智能盒子上电影软件收费烦恼?教你几个盒子上看大片的方法...

    在智能盒子上看电影时候,很多软件都收费了,非常不方便.那么盒子成摆设了吗?不不不,我们通过几种方法是可以看到最新的影视的 第一种,通过盒子的投屏功能,将手机上的图片视频通过盒子在电视上播放,非常简单好 ...

  5. JavaScript--获取页面盒子中鼠标相对于盒子上、左边框的坐标

    分析: 外层边框是浏览器边框,内部盒子是页面的一个盒子,绿点是盒子中鼠标的位置.鼠标相对盒子边框的坐标=页面中(注意不是浏览器)鼠标坐标-盒子相对于浏览器边框的偏移量 第一步:求浏览器边框位置 x=e ...

  6. 电视盒子安装linux微信,怎么在电视上安装微信-电视盒子(智能电视)这样几步设置,轻松安装APP软件...

    电视盒子和智能电视作为智能家居的一部分,越来越被广大家庭接受.前些天小编发了几篇关于智能电视的常用APP影视软件,很多网友给小编留言,询问关于怎么安装的问题.电视盒子和智能电视安装APP软件其实很简单 ...

  7. android盒子连nas,【当贝市场】教你在安卓盒子上用XBMC访问NAS

    原标题:[当贝市场]教你在安卓盒子上用XBMC访问NAS 安卓盒子使用XBMC访问NAS的三种方法根据使用的方式来看,可以分为3种类别的文件服务器:FTP服务器. Samba服务器.NFS服务器Vid ...

  8. SCAU 8631 盒子上的蚂蚁

    8631 盒子上的蚂蚁 时间限制:500MS  内存限制:1000K 提交次数:0 通过次数:0 题型: 编程题   语言: 无限制 Description 2009 年国际ACM 程序设计大赛在中国 ...

  9. 多看系统下载_电视盒子能看电视直播吗?这2个方法教你在电视盒子上看直播...

    随着时代的进步和科技的发展,现在很多人的家里都不再用有线电视了,都开始买智能电视或者电视盒子,从有线电视进入了智能电视的时代.但是这个时候就出现了一个问题,电视盒子能看电视直播吗? 电视盒子等于一个电 ...

最新文章

  1. transient的作用和使用
  2. 6.6.1 CPropertySheet类
  3. jq实现前端文件上传
  4. java加载sql2016_SQl Server 2016 with R.
  5. Linux利器:QEMU!用它模拟开发板能替代真开发板?
  6. kubernetes权威指南第五版_Java 微服务实用指南(二)
  7. 模板方法模式(Template Method Pattern)
  8. 九度oj题目1153:括号匹配问题
  9. Hbase与zookeeper
  10. deepfake ai智能换脸_AI换脸朱茵变杨幂,人工智能时代的“细思恐极”
  11. 【转载】北京三险一金计算器
  12. SpringBoot上传文件到服务器
  13. java线程锁有哪几种_Java锁有哪些种类,以及区别
  14. 如何把打开方式换成计算机程序,文件的打开方式
  15. 计算机应用基础(第二版)周南岳,微波电子自旋共振实验中需要将样品谐振腔调节为驻波模式...
  16. Service START_NOT_STICKY、START_STICKY
  17. queue容器常用接口
  18. 入侵与模拟攻击(BAS)——新兴的安全防护有效性验证评估技术
  19. PBA大理石直线电机模组优势
  20. delete 和 delete []的真正区别

热门文章

  1. 劈尖干涉公式_劈尖干涉 牛顿环教案 干涉条纹间距公式
  2. 4600u黑苹果 r5_XPS13黑苹果体验之旅最后还是转了白苹果MBP2017
  3. 2021年煤矿采煤机(掘进机)操作考试报名及煤矿采煤机(掘进机)操作考试技巧
  4. 阿里矢量图引入的具体方法,详解!
  5. 关于发那科机器人点焊故障处理方法
  6. VS2012+OpenGL (涵盖GLUT+GLEW+FreeGlut+GLTools) h lib 和dll文件
  7. Opengl全家桶!附赠gltools!!蓝宝书读者福利!
  8. 航天科工研发“高速飞行列车”,最高时速可达4000公里?
  9. 2019年最受欢迎的19个旅行目的地
  10. java 自动投票 httpclient ip_投票系统刷票方式原理(突破ip限制刷票PHP版)