吐槽

说实话,这年头基本上所有安装在手机里的垃圾软件都会获取设备标识,尤其是......,但我TMD是真没想到,腾讯能把设备标识授权给小程序使用[微笑]。


为什么软件要读取设备标识

在早期的Android版本中,开发者只需要申请一项“电话”权限,就能读取到手机的IMEI,IMEI相当于手机的身份证,是每台手机独一无二的号码。读取IMEI完全是一种侵犯用户隐私的行为,但为什么软件要读取这一串数字呢?当然是为了钱,当两个软件同时读取到同一个IMEI时,后台就可以判定是同一个人在使用这两款软件,基于这条信息,广告公司就可以投放更精准的广告,赚更多的钱,如果你在软件A内搜索了某件商品之后在软件B中发现了相同产品的广告,而且两款软件在生态上没有什么特别紧密的联系,那你可能就该换手机了[抠鼻]。

微信小程序有什么特殊功能(微信小程序也能获取设备标识)(1)

“电话”权限


Google的应对策略

在新版的Android系统中,Google禁止了软件开发者对设备硬件串号的使用,取而代之的是Android ID,在每个应用被安装之后,系统会为它生成一个专属的Android ID,这意味着每个软件都会获取到不同的标识符,广告商无法将这些标识符关联到同一个人身上,削弱了广告商跨应用追踪用户的能力,是对用户隐私保护的一大进步[呲牙]。

微信小程序有什么特殊功能(微信小程序也能获取设备标识)(2)

Google的官方文档

正常情况下Android ID只会因为恢复出厂设置和不保数据刷机之类的操作而改变。现在你知道为什么有些软件卸载后再重装就没有试用了吧。但是,在非正常情况下,Root用户可以随意更改Android ID。在使用Android 11的时候,我曾经改过Android ID成功骗取过某些软件的免费试用[害羞]。但在12系统下,修改工具失效了(本来成功率就不高)。


小程序也能使用设备标识

今天,我发现我手机里的打开水小程序又可以正常使用了。这是一款通过蓝牙操控开水机的小程序,值得注意的是,开水机并没有网络连接,完全靠手机的蓝牙与外界通信,当用户付费后,小程序会通过蓝牙给开水机发送“启动指令”来启动水龙头,开水机启动成功后再通过蓝牙返回一条“启动成功”的指令通知小程序开始按时间计算费用。理论上讲,在恰当的时机阻断小程序和蓝牙的通信或者能够模拟出“启动指令”,就能够白嫖饮用水(实际上根本不用,平台赠送的钱都够我喝到毕业了,而且我在学校一年四季洗漱都不用热水,洗澡除外)。然鹅,大约一周前,由于网络的原因(我用的中国联通),我成功白嫖到了热水[微笑]。

微信小程序有什么特殊功能(微信小程序也能获取设备标识)(3)

之后,手机里的小程序就罢工了,我卸载冻结了一切可疑的软件,重置了蓝牙,重启了手机,重装了微信,点击了一遍小程序里的所有按钮,欣赏了其他同学用小程序打水的精彩操作......,都TM不好使[石化]。隐隐约约好像看到小程序给我弹了一条消息,好像是设备禁用什么的,我当时就明白了,可能是后台发现白嫖,给我封号了,但它只说是设备禁用,那我换个设备试试。额,我的备用小米5S显示屏已经坏到了肉眼无法分辨的程度了。(真的,我当时TM差点就拿笔记本电脑去接开水了,还好及时发现笔记本上的小程序用不了蓝牙,而且我好像只有两只手[黑线])


问题最终得到了解决

最后,竟然是手机里的一个我从没用过的功能帮了我的忙。像Windows系统一样,Android系统也有多用户功能,不同用户间的信息是独立存储的,且互不干扰,即使是同一款软件,也拥有不同的Android ID。

微信小程序有什么特殊功能(微信小程序也能获取设备标识)(4)

只是,这项功能在国内已经被阉割成为了系统级的多开工具。但是我用的是原生的Android,这个功能得到了完整的保留。我创建了一个新用户,然后安装了微信,发现可以成功打到热水,昨天,我发现主用户的微信可以打热水了,可能是账户到期解封了,我删除了新用户,关闭了多用户功能,一切都恢复了正常[憨笑]。

,