====== 当天猫盒子应用被删之后 ====== ===== How to install Application via adb to TVBox after auto uninstalled due to the f**k gov. policy ===== 最近, 各种Android电视盒子, 由于某些不可告人(大家都懂得)的原因, 好多应用被强制删除了, 比如沙发管家, VST全聚合. 晚上花了几分钟时间, 把沙发管家又装回来了, 以供参考. ===== 获得同一局网中天猫盒子IP地址 ===== 方法有好多种, 最简单的在设置里就可以找到, 当然我不会用这种最傻的办法, 而是用了某些强大的黑科技nmap 简单说nmap是一个可以扫描网络中计算机端口的嗅探器, 甚至连目标主机操作系统也可以侦测到. ==== How to install nmap ==== ==== for Mac ==== brew install nmap ==== for Linux ==== sudo apt-get install nmap ===== 扫描局域网 ===== sudo nmap 192.168.199.1/24 -v -sS ... Nmap scan report for Box-a6076782498681e5.lan (192.168.199.165) Host is up (0.012s latency). Not shown: 995 closed ports PORT STATE SERVICE 4000/tcp open remoteanything 5555/tcp open freeciv 7100/tcp open font-service 7200/tcp open fodms 8899/tcp open ospf-lite MAC Address: 5C:C6:D0:DB:40:0F (Skyworth Digital technology(shenzhen)co.ltd.) Initiating SYN Stealth Scan at 20:40 Scanning Jianqings-MBP.lan (192.168.199.190) [1000 ports] Discovered open port 22/tcp on 192.168.199.190 Completed SYN Stealth Scan at 20:40, 5.28s elapsed (1000 total ports) Nmap scan report for Jianqings-MBP.lan (192.168.199.190) Host is up (0.000011s latency). Not shown: 971 closed ports, 28 filtered ports PORT STATE SERVICE 22/tcp open ssh ... 上面就是结果, 想必你已经知道了那个Box-a6076782498681e5.lan就是天猫盒子了 ===== 用adb命令连上盒子 ===== adb connect 192.168.199.165 jianqings-mbp:workspace pjq$ adb devices List of devices attached 192.168.199.165:5555 device OK一切都进展顺利, 之后就可以像操作一台手机一样, 用adb命令做你想做的任何事情 ===== 安装你需要的应用 ===== 比如安装沙发管家 adb install -r ~/Downloads/com.shafa.market_4.4.3_webwww.apk 当然你也可以备份沙发管家APK到盒子SDCARD adb push /Users/pjq/Downloads/com.shafa.market_4.4.3_webwww.apk /sdcard/ 之后在应用列表里就可以找到沙发管家, 安装你想要的任何应用. ===== To be continue... ===== 如果这个方法失败了, 那后面就要想其它的方法了. 事实证明, 虽然可以安装成功, 但是过不了多久就又被删除了 后来做了一次RESET, 然后在路由器中禁用了以下域名 ===== 域名禁止 ===== tvupgrade.yunos.com osupdate.aliyun.com osfota.cdn.aliyun.com osupdateservice.yunos.com yunos.com aliyun.com hiwifi hosts: 127.0.0.1 tvupgrade.yunos.com 127.0.0.1 osupdate.aliyun.com 127.0.0.1 osfota.cdn.aliyun.com 127.0.0.1 osupdateservice.yunos.com 127.0.0.1 yunos.com ====== 最不想看到的解决方案:反编译破解修改包名 ====== 好吧, 就算我屏蔽了它的相关host, 在重启之后, 它还是把系统更新了, 想必是没有完全屏蔽掉所有的域名或者是服务器IP. 就拿HDP直播为例吧, 发现我每次用沙发管家安装的时候, 貌似安装完之后, 立刻就会被删除, 猜测它维护了一个应用package name列表, 当检测到的这个package name的时候就直接执行了删除程序. 如果真是这样的话, 那我的唯一方法就是把HDP直播package name换掉, 这是我最不想看到的方式了, 因为这意味着我要把HDP直播反编译, 修改里面的包名, 并改掉相关的smali文件. 反编译破解一个APK并没有花掉几分钟 ===== 反编译工具 ===== 相关反编译工具, 我之前整理过, 直接拿来用就可以 git clone https://github.com/pjq/android_apk_tool cd android_apk_tool ./apktool D HDP_61.apk cd HDP_61 vim AndroidManifest.xml 这里我把它原来的包名从hdpfans.com改为**com.aliyun.os**, 这个就不要怪我了 查找一下哪些地方有"hdpfans.com" grep -i -R "hdpfans.com" * vim smali/hdp/http/MyApp.smali vim smali/hdp/player/ft.smali vim smali/hdp/player/LivePlayerNew.smali 直接使用了vim sed ":1,%s/hdpfans.com/com.aliyun.os/gc"人肉一个一个替换 改为之后, 就是重新打包APK了 cd .. ./apktool B HDP_61 再重新对APK进行签名 cd resign_tool/ ./resign_apk.sh ../HDP_61/dist/HDP_61.apk 得到签名之后的文件 HDP_61_signed.apk 最后安装 adb install -r HDP_61_signed.apk 居然正常安装成功, 并且成功启动应用, 找到湖南卫视正常播放, 真的好意外, 居然一次就搞定了 PS.整个过程貌似10分钟就搞定了 ===== com.aliyun.os ===== 最后我得到了一个应用, 包名是 **com.aliyun.os** 相信阿里会认的吧, 看起来就像是直系亲属^_^