一、前言
春节过年发个红包本来就是为了讨个喜庆,朋友亲戚之间的关系交流,但是现在随着技术变革,抢红包插件越来越多,导致现在不太愿意发红包了,特别是在一个多人群里,潜水的非常多,但是丢个红包瞬间就没了,感觉真的很不爽呀,然后造成的现象就是你用插件,我也用,结果抢红包就变得没有意思了。在这里我还是觉得尽量不要用这些所谓的抢红包插件。多读些书多好呀!
二、自动抢红包插件分析
本文就来应对那些自动抢红包插件功能的防护功能,我们知道现在自动抢红包主要有着三种方式:
第一种:利用辅助功能和通知栏消息拦截来做到第一时间红包来了提醒用户
第二种:利用Xposed框架进行hook抢红包功能
第三种:直接修改具备抢红包功能app的代码,二次打包安装
但是这三种方式其实目的只有一个:在收到红包之后能够立即提醒用户,核心点就一个字”快”,那么防止这些插件的出发点也就是如何能够得到抢红包的时间,通过这个时间来判断一个人到底有没有用插件。因为我们抢过红包的都知道,正常情况下抢一个红包需要经历:接受红包消息+手动点击红包+红包打开动画,这三个场景。安装平均网速和人的反应速度,抢一个红包消耗的时间大约在4s-5s左右。当然可能会更长,如果更长的时间就不在我们这次讨论范围内了,而这个时间也是我们自己估摸出来的,不是非常准确的。所以我们现在的思路是,如何能够获取一个红包被抢了之后,每个人抢包消耗的时间。
三、寻找Hook入口
先来看看一个红包被抢完之后的详情页面信息:
从这个详情页面可以看到,有一个值就是时间字段,而这个页面应该是个ListView控件,所以这里就是我们的突破口,这里依然使用命令查看当前页面名称:adb shell dumpsys activity top
然后用Jadx打开WX应用,这里我依然用的是6.3.9版本:
这里就阻碍住了,为何找不到这个类呢?在之前的一篇文章中已经踩过这个坑了,就是WX应用进行了拆包技术,就是有多个dex文件,不了解的可以看这篇文章&