====== 当天猫盒子应用被删之后 ======
===== 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** 相信阿里会认的吧, 看起来就像是直系亲属^_^