如何实现一个微信无法反作弊的群控系统?

嗯嗯,从商业逻辑上讲,这不是一个有道德感的话题。但是从技术上讲,这也是一个值得思考的。

微信刷阅读量、刷粉丝数这些,都是公开的秘密了。2017年10月份前后,每1000阅读量的刷单价格高达100元,于是有做生活板块自媒体的朋友就问能不能帮他做一个刷微信阅读量的系统。于是了解了一下群控系统。

目前的群控分成3种

  • 一种是自建若干台手机、平板,或者虚拟机,都堆在,然后用远程控制软件+自动化脚本。这是中心化的
  • 一种是控制若干肉鸡的,这是分散式的
  • 还有一种就是人肉方式的,建QQ群微信群,拉人做任务
貌似第一种比较多。微信能反作弊的也就是第一种。原因很简单,中心化的系统,其访问地址、访问时间相对比较集中,通过大数据容易识别出来,接着就是封号。他们也用了很多手段,比如若干v*n组网,来尽量分散IP地址,干扰微信的反作弊侦测,不过在大数据面前,效果有限。
第二种系统本身就是非法入侵的,不可靠,但是的确对微信的反作弊系统很有效。
第三种太笨,完全是没有技术含量。
所以稍微思考一下,就可以得出一个系统方案:建立一个物理上足够分散的中心化群控。
  • 使用真实的手机作为终端,终端具有自动执行刷单任务的能力
  • 所有终端通过网络,从服务器获取任务,然后自动执行
  • 把终端通过有偿的方式,部署到全国乃至世界各地,对于微信来讲,这足够真实,基本尚无法区分了
这个方案中的技术难点,是终端设备上的自动化控制程序的实现。稍微调查了一下,基于Android实现起来,还是可行的。
  • 利用AccessibilityService,可以获取到设备的界面种的各种信息
  • AccessibilityService可以执行模拟点击等操作
实际上,继续深入一下,发现事情没这么简单。还要考虑到Android锁屏、解锁的问题,还要支持在图像区域内操作,这时候AccessibilityService就有明显得局限了。
接下来的解决方案自然是用InputManager去模拟操作。开发实现这些功能只是时间上的问题。
等这个都验证解决了,进一步设计了一下,安装在设备中,应该有2个程序:
  • 一个是核心程序Core,负责执行底层的获取界面信息,执行模拟操作这些;另外还要有一个重要的功能:和服务器联络,根据服务器的指令,确保App程序正确安装上了。
  • 另外一个就是App程序,负责具体的刷单操作。从Core操作获得信息、调用Core程序执行操作。
这一Core程序部署之后,这台设备就就绪了。
服务端还要开发一个程序,负责给终端设备下发任务。

花了2个星期的空余时间,实现了一下。的确遇到的小问题挺多,虽然一一消灭了,但真有一些烧脑的地方。
Android设备的要求是能root过的。我选的是小米2开发,然后也适配了手边几台闲置的手机。
开发环境用的Android Studio。
服务器后端用的node.js+mongo db,生产力极高,前端用的是bootstrap。

交付后的运营模式是把终端分散赠送出去,然后每个月给负责维护的人返100元。因为手机只需要插电、接入网络,然后完全不管,系统自动刷单,这个投入只是电费,接受程度还可以。据称每台手机通过刷阅读、刷点赞可以收入200-300元。没考证过。

如何实现一个微信无法反作弊的群控系统?

关于反作弊
当IP地址足够分散之后,再配合阅读时间,微信基本上分辨不出来这是否是虚假阅读了。
另外还有刷单用的微信账号,也可以通过加入互动,来增加真实性。通过编程控制,才可能完成大规模的真实性模拟。