手机抢红包软件相信大家并不陌生,很多人应该都用过。他的速度非常快,能在第一时间内抢QQ、微信及其他手机软件的红包。所以,很多人在抢红包的时候发现,明明自己手速很快,但为什么就抢不过别人呢?
抢红包
我们尽量说的通俗简单些,不去探讨它如何用编程实现,只是看他它运用了何种原理。
这种抢红包软件其实是借助了安卓系统的一个功能来实现自动抢红包功能。这个功能在Android系统中叫‘‘辅助功能’’,相信大家在自己的手机上是见过的,但很少有人知道这个辅助功能是干什么用的。
辅助功能的作用在于帮助有障碍的残疾人士来实现用户与手机的交互,比如可以模拟人的动作,根据触发条件来自动实现自动点击屏幕,而抢红包软件就是这个原理。
当然实现自动点击并不够,最重要的就是能在app接受到红包的时候才实现点击是最重要的。所以我们就需要在编写软件的时候通过一些服务的注册来实现手机界面及手机通知栏的监控。
红包软件
第一步就是要监控手机通知栏,因为你的微信有可能在后台运行,接受到红包后我们也没办法知道,唯一能知道的就是微信通过手机通知栏弹出的红包消息。所以当我们监控通知栏后,只要在监控到通知栏有消息后,再提取通知栏消息,检测消息里是否有‘‘红包‘’这两个字就可以知道是否有红包到来了。如果有,我们就用代码模拟人的点击点开这个消息。如果没有,就不用管它。这个速度不到一秒钟,非常快。
第二步,通过通知栏消息打开微信抢红包的界面后,怎么才能自动打开那个微信红包呢?放法也很简单,用代码枚举聊天界面的所有图片和文字控件,然后查找带有微信红包字样的控件,找到后模拟人的点击动作点开。
接上一步,打开红包页面后,我们只需点开‘‘开’’字这张图片就可以领取红包了。这个开字是一张图片,仍然模拟人的动作,点击这张图,就可以了。
微信红包
现在整个操作流程就结束了,从整个流程来看,主要是借助Android系统的辅助功能操作,查找需要点击的屏幕控件,模拟人的手势点击操作来实现,整个过程其实用不上一秒钟。而且可以设置抢红包的延迟时间,是否需要自动回复等。
我们理解了这个原理,要用代码来实现的话就应该很简单了。所以,从一定程度上来说,这种自动抢红包软件算不上病毒,只是合理使用了系统的辅助功能而已。