百度惠愚人节替你买单活动的hack工具(根据拦截
此次活动的目的非常简单,就是用娱乐的方式来给用户发奖品,虽然这些商品在商品池中是固定的,金额也是固定的,要在花掉最接近1000块的额定金额的前提下还要使节省金额达到最大,难度是肯定有的,但里面起决定因素的是什么呢,当然是RP(人品)啦,你刷到能买出最佳组合商品才有机会赢嘛,何况只有前三才有机会对不对。
并且能看到在页面中,每一局会有一个随机的cookie种下来,是用来防作弊的,这样加密的方式也只有后端了解,作为玩家,我们就只能一局局的来刷咯。
数据准备想要通过工具来刷到最优解,那就必须掌握最接近最优解的商品数据。
游戏中,每一局用户都有3次机会去查看商品的百度惠优惠价,然后每次点击「买买买」后,也会同样显示该商品你节省了多少金额,这样多来个几次,就可以把商品池中的商品数据收集的八九不离十了,更何况,我们并不需要那么多,在玩了20+局后,哪些商品是最优解组合中必包含的也心知肚明了,于是,属于每个人的可能的最优解商品列表库就有了。
以上手工获得的数据,就会作为原始素材写进程序中,在脚本刷最优解局时起到关键的作用。
工具的原理工具的本质是一个 Google Chrome 的插件,为什么?因为当我想做这么个工具时,第一个蹦出来的途径就是要 拦截网页的请求。
原理:
每次打开活动进行时页面时,工具会进行拦截页面上的所有网页请求(包括Ajax, images, styles等等)chrome.devtools.network.onRequestFinished.addListener(function (req) {})
if (req.request.url.indexOf('/fool/game/info') > 0) {}
// goodsList 就是每局的商品列表数据
req.getContent(function (content, encoding) {
var content = JSON.parse(content);
var goodsList = content.data.result;
})
有了我们人工准备的原始数据和开局数据,通过比较就可以得出该局数据是否符合要求并且排名靠前
匹配最优解组合成功,输出该局中需要「买买买」的商品序号
匹配最优解组合失败,devtool.js
会发送消息给 background.js
,通知它刷新页面从头开始
工具是在游戏快结束的当天傍晚开始从零弄起的,所以非常仓促,一台笔记本A用最开始的脚本开刷,另外一台B用我改进后的脚本刷(改进了,如果金额超过我给的阀值很多,需要再来一轮剔除掉影响结果的商品),尽管该方案的执行效率还是非常高的,但原本刷出最优解的几率比较低,所以还是花了点时间,尤其是电脑A在刷出了后,家里操作的人手误没来得及点买买买错过了一个商品,就错失了该局。幸好在快结束前的半小时,两台电脑都刷了1、2次成功的组合。成功挤进前三的第1和第3。
如果时间充裕,估计包揽前三问题不大。
最后的经验:
在使用chrome这种用户端应用刷时,记得开启隐身模式,不然自身装的各种插件会影响效率(实测下来真的影响很厉害) 记得插上外接电源,因为耗电比较猛 记得刷出结果后,手别抖,因为毕竟没时间做到全自动(chrome插件理论上可以通过contentscript注入页面元素操作的,这样就可以全自动刷了) 记得在时间不够的前提下,尽可能的查官方文档和Demo(因为Chrome平台的官方例子非常多),这样可以尽可能快的从脚手架开始弄起,我这个就是,效率提高很快 看到有类似的活动,小伙伴们记得通知我啊Copyright to @2012-2016 Staydan.com
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。