• 欢迎访问大姚哥前端笔记
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 欢迎留言o(∩_∩)o 哈哈

记一次微信H5游戏的刷分(扒接口)经历

H5游戏 dayaoge 3642次浏览

公司周年庆有个拼手速抢公仔的活动,扫码玩了一局,看了下规则是累计的。一下子职业病犯了,他是怎么防刷的呢?能不能把接口扒下来刷一下,顺便带走一个公仔?

我已经迫不及待的开始了。

首先想着能看源码,复制链接地址出来,在chrome里打开,发现提示只能在微信里打开,那试着用“微信开发者工具”打开,提示”未绑定网页开发者”。此路不通。

一时陷入了绝路。

看不了源码,只有抓包了。而且只能在手机上抓包。

去Appstore下了个抓包工具“Stream”。打开以后挺简单的,直接点击“开始抓包”,
1
然后去微信那个游戏中操作一通,然后回到“Stream“中,结束抓包即可。
然后点抓包历史按钮,就可以看到刚才的抓包记录了。

我们重点关注下这两个post请求。

12

点进去查看详情,

2

我们把它分享到微信,这样就能复制出来了。

通过观察,这两个接口一个是”开始游戏”,一个是发送游戏成绩的接口。就是他们了。

这里我们用Postman(Chrome扩展插件)来调用这俩个接口。

首先我们调第一个开始游戏接口。

aa4

我们根据刚才复制出来的地址和参数,对应的填进去。然后点击“Send”。

aaa

有返回了,居然提示游戏通道已关闭。

什么鬼,又去微信里玩了一局,可以玩啊,又抓了一次包。参数也对啊。怎么提示已关闭了呢。

又看了一遍导出的抓包信息

发现请求头里有“Cookie”信息,是了,肯定是服务端设置的cookie,每次请求需把它带上了。

然后就在“Postman”里的Headers里把“Cookie”字段加进去。

ad

再点击发送,然并卵。还是提示通道已关闭。咋地了呢

我觉得是“Cookie”没有发送出去。

然后百度了一番,“如何通过Postman发送Cookie”。在一篇文章里看到说要安装postman扩展“Interceptor”。

sss

那就安装白,居然去chrome应用商店安装。看来还得翻墙。怎么能被拦在墙内呢。我要出墙。。。
于是去Github上下载了个Lantern。已管理员身份安装,已管理员身份运行。然后就看到了久违的Google。

出墙了赶紧接着干正事。安装“Interceptor”
安装好之后呢,我们在Postman中打开。如下图。

a4

应该可以发送Cookie了。我们赶紧点下“Send”。

通了,很顺畅很惊喜。

返回了player和code。
我们拿着这两个参数,去请求下一个接口。

a-6

这里click是点了多少次,jifen是得了多少分,随便填。也不是那么随便,发现他们做了个判断,jifen字段不允许超过2600,click估计也有判断,参数填好后点击发送。

a8

哈哈,提交成功。去游戏里看了一下,分数果真加上了。完美!!!

不过这种方法刷起来还是有点慢,请求来数据还需自己手动复制到第二个接口里。有没有更快的方法呢?

所幸Postman还是很强大,可以在请求接口后,将字段放入全局变量中,在第二个接口中调用该变量,所以这里有请求先后顺序需注意。

具体实现:
第一个接口请求成功,在Tests中写代码(支持Javascript)

这里将请求来的数据分别存入“player”和”code”中,同时打印下输出。

第二个接口中
使用{{player}}、{{code}}引用这两个全局变量。

a47
这里为了使数据显得真实,我们将click和积分字段做一下随机处理。
在Postman中 Pre-request Script中(请求发送前执行)写一下随机代码

a99

到此我们点击发送接口一(beginGame),接着点击第二个接口(sendResult),完美执行。

还能不能再优秀点。。

能用机器完成的工作自己绝不动手,哈哈。

新建文件夹,将这两个接口按顺序排好。
然后点击文件夹右边的小箭头,点击Run

a111

之后我们填一下运行各参数

Iteration:运行次数
Delay :每次运行接口的间隔时间,单位毫秒。这个游戏好像改了两次游戏间隔时间了,2分钟玩一次,所以我们这里填12000。也就是2分钟运行一次接口。
填好之后点击Run就愉快的跑起来了。

a122

哈哈,公仔是我的辣~


小白公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明记一次微信H5游戏的刷分(扒接口)经历
喜欢 (12)