五千年(敝帚自珍)

主题:【原创】请尽量避免用你的Android设备翻墙 -- letmein

共:💬12 🌺31 🌵1
全看分页树展 · 主题
家园 【原创】请尽量避免用你的Android设备翻墙

刚才家里路由器重启了,突然感觉手机有点慢,在手机管家里一看,一个常玩的游戏竟然已经在后台启动了,一想就明白原因,因为西西河常被封,翻墙用户估计不少,也提醒各位一下。

原因:Android APP可以注册监听器,在网络状态发生变化(如开启VPN)时自动启动。

以微信为例,下载地址为http://dldir1.qq.com/weixin/android/weixin703android1400.apk,MD5为cad927e843b4382f3c757ebe8a95722b,解包后发现AndroidManifest.xml里确实注册了网络状态变化的监听器:

<receiver android:name="com.tencent.mm.booter.MMReceivers$ConnectionReceiver" android:process=":push">

<intent-filter>

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

</intent-filter>

</receiver>

测试方法:

  1. 在微信里点击“我-设置-退出-关闭微信”,在对话框中取消选中“有新消息时在通知栏提醒”,点击“关闭微信”,退出微信;
  2. 在手机管家类APP中查看正在运行的APP,列表中没有微信,说明微信已经成功退出;
  3. 打开飞行模式,待手机切换到飞行模式后再关闭飞行模式;
  4. 在手机管家类APP中查看正在运行的APP,列表中如果有微信,就说明微信已经自动启动了。

这个测试不一定准确,根据厂商不同,有的手机会很激进地杀后台进程,即使APP自动启动了也马上会被杀掉。自动启动也不意味着APP就一定会干坏事,这是安卓系统本身提供的便利功能,微信全球用户数早就破十亿了,安全性是肯定没问题的,大家可以放心使用,需要提防的是不知来头的APP,比如那些直接用apk文件安装,而不是从各大应用市场安装的,要是万一潜伏着等你开启VPN时自动后台启动向警察叔叔举报……

https://developer.android.com/about/versions/nougat/android-7.0-change

面向 Android 7.0 开发的应用不会收到 CONNECTIVITY_ACTION 广播,即使它们已有清单条目来请求接受这些事件的通知。

https://developer.android.com/about/versions/oreo/background.html

针对 Android 8.0 的应用无法继续在其清单中为隐式广播注册广播接收器。

Android 7.0是2016年发布的,出于减少电量消耗的目的,静态注册监听网络变化没用了,Android 8.0 是2017年8月发布的,对广播限制的更严格,但这些限制都只是针对“专门面向新版本Android设计的APP”,“没有针对新版Android系统设计的APP”在新版本Android上还是照旧,因此这个问题可能会一直延续下去。

再发散思考一下,APP能拍照就能做人脸识别,能访问网络就能把用户信息上传到自己的服务器,也许,换个苹果手机会安全的多?

全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河