关于微信运动步数作弊的思考,发现新世界系列 😳
Android 计步原理
目前android计步有两种方式
-
直接使用系统计步传感器
在Android4.4版本之后,新增了STEP DETECTOR
以及STEP COUNTER
传感器,用于纪录用户行走的步数。
从手机开机开始纪录,手机关机时重置为0。
这个记步芯片是系统级别的,不会因为App单独用了记步的功能而额外耗电。
系统芯片记步是持续的,能够优化部分机型后台不记步的问题。 -
通过加速度、陀螺仪等传感器数据人工计算
一直开着传感器非常耗电,导致App的耗电量很高,影响用户体验。
需要后台实时运行才能实现记步的功能,如果App进程被系统或者安全软件杀死,导致记步功能没办法使用
基本上,如果只是单纯的计步,现在用的应该都是第一种方式
微信 计步原理
微信运动的计步其实有两种方式,
一种是微信本身去读取手机/蓝牙连接的设备的步数,然后上传;
一种是微信读取第三方数据,这个基本上是通过关注第三方公众号来实现的。
你关注了某个公众号,微信计步时就会考虑这个数据源;
你在公众号里查询榜单,也就把数据同步到了微信运动。
https://support.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=wechat_movement_faq/index#/detail/1
如何实现
- 一种思路是直接HOOK 系统传感器,伪造假数据给微信。这需要ROOT权限,或者在沙盒里运行微信(微信有信息风险)。
- 一种思路是直接HOOK 系统传感器,伪造假数据给第三方app。这需要ROOT权限,或者在沙盒里运行第三方app(第三方app有信息风险)。
- 一种思路是尝试其它方法伪造假数据给第三方app。
- 还有在第三方app与第三方服务器、微信开放的api接口下功夫的…
就个人而言,ROOT是不可能的,受信任的且好用稳定的沙盒尚在观察中,关键词Xposed
、太极
、VirtualXposed
等等。
偶然发现一款可以直接修改 春雨计步器 的app,其原理貌似是利用的这款软件的bug,试了下居然还能用,话说2017 ~ 2019,时隔这么久都没补上我也是醉了。
那么一个做法是:
- 从手机自带的应用市场里面下载安装
春雨计步器
; - 下载一个
春雨计步器 修改器
, 设置拦截它流量/WiFi上网,仔细看好各种权限请求;(操作不当会有风险,虽然很可能多此一举) - 春雨计步器 使用微信授权登录;
- 修改步数;
- 关注春雨计步器的微信公众号,在公众号查询排行榜;
- 接下来,在微信运动查询排行榜,会发现数据已经同步。
- 注意:这里有个坑,在二天需要注意把初始的0步上传给春雨,或者不用时先直接取关,否则你会发现和前天一样…
当然,如果能华为/小米运动等手机自带的app进行修改也一样,但找了一圈基本上免ROOT需要沙盒的形式,像春雨这么LOW的似乎也不太好找哈😄