美文网首页Pythoner集中营Python 运维Python精选
球球大作战分享链接自动点击之龙蛋获取

球球大作战分享链接自动点击之龙蛋获取

作者: 赵晓天 | 来源:发表于2017-06-13 11:11 被阅读944次

注意

此教程为原创教程,未经允许,禁止转载。
此教程使用Python实现,其他语言也大同小异。

更新中...

前言

据上次玩球球大作战已经有几个月了,最近看到它又出了个龙蛋获取分享链接,又想试着分析一下。

刚开始看到这个,还挺复杂了,什么混淆啊,捉迷藏啊。

龙蛋分享页面index.js

分析过程

当我拿到我的分享链接:

http://t.cn/RSBFXMR

一看就知道是个短网址,真实URL需要访问过才看得到。

这个就是我访问后的到的URL

http://www.battleofballs.com/share/index.html?b=aWQ9OTkxNjE4NDUmQWNjb3VudD0lRTYlODglOTElRTYlODElOEIlRTUlQkQlQkMlRTYlODElOEImMD10ZW1wJkxldmVsPTYmU2NvcmVzPTEmSWNvbj00JlBhc3NJY29uPSZ0eXBlPTM=

我通过谷歌浏览器的开发者工具看到:

发出的获取龙蛋请求

http://cn.battleofballs.com/share?type=3&id=99161845

这个应该是获取龙蛋的请求,可是我应该到哪里去找id呢?

如果需要给出用户信息的话,应该是url中的b参数了。

学过信息安全这门课,这个b的值应该是base64编码过的。

在这个页面中的index.js也给出了答案:

解码过程

atob不是base64解码的吗?

你要问我是怎么看到的?我将它的一个数组输出了:

_0xa5cf数组
数组元素有135个,这里我列出我认为必要重要的: 前几个元素

他们(开发人员)为什么要这么做,为了不让我们通过关键字查找来破解提取出id。

可是id等信息已经放到了url上了。

aWQ9OTkxNjE4NDUmQWNjb3VudD0lRTYlODglOTElRTYlODElOEIlRTUlQkQlQkMlRTYlODElOEImMD10ZW1wJkxldmVsPTYmU2NvcmVzPTEmSWNvbj00JlBhc3NJY29uPSZ0eXBlPTM=

我将此字符串用base64解码得到:

加密后

id=99161845&Account=%E6%88%91%E6%81%8B%E5%BD%BC%E6%81%8B&0=temp&Level=6&Scores=1&Icon=4&PassIcon=&type=3

我的id已经看到了。

然后就可以用

http://cn.battleofballs.com/share?type=3&id=99161845

来获取龙蛋了。当你把type=3,改成type=1就是获取棒棒糖的,很简单吧。

这里给出我用Python写的代码,如果要实现每天自动点击的话,可以设置定时任务。当然也不要忘了使用代理ip来请求。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-06-13 09:55:17
# @Author  : sungod (hvner@vip.qq.com)
# @Link    : http://www.xtype.cn/
# @Version : $Id$

import urllib
import urllib2
import base64
import re

# 龙蛋 http://t.cn/RSBFXMR
# http://cn.battleofballs.com/share?type=3&id=99161845

# 棒棒糖 http://t.cn/RJPARSV
# http://cn.battleofballs.com/share?type=1&id=99161845

api = 'http://cn.battleofballs.com/share?{}'


# 获取龙蛋分享链接的ID
def getIdByLdUrl(url):
    if url is None:
        print 'url is Empty.'
        raise NameError
    try:
        resp = urllib2.urlopen(url)
    except Exception:
        print 'network is Error.'
        return None
    print resp.url
    base64info = re.match(r'^http://.*\?b=(.*)$', resp.url)
    if base64info is None:
        print 'the server tactics is exchange.'
        return None
    url, = base64info.groups()
    t = base64.b64decode(url)
    print t
    info = t.split('&')
    return info[0].split('=')[1]


# 获取棒棒糖分享链接的ID
def getIdByBtUrl(url):
    if url is None:
        print 'url is Empty.'
        raise NameError
    try:
        resp = urllib2.urlopen(url)
    except Exception:
        print 'network is Error.'
        return None
    print resp.url
    info = re.match(r'^http://.*\?id=(\d*)&.*$', resp.url)
    if info is None:
        print 'the server tactics is exchange.'
        return None
    id, = info.groups()
    return id


# 获取棒棒糖或者龙蛋
def get(id, type=1):
    '''
    id: balss id
    type: value 1 bangbangt, value 2 longdan
    '''
    param = {'id': id, 'type': type}
    _api = api.format(urllib.urlencode(param))
    try:
        resp = urllib2.urlopen(_api)
    except Exception:
        print 'server Error.'
        return False
    if resp.read() == 'ok':
        return True
    return False


if __name__ == '__main__':
    print get(99161845, 1)

相关文章

  • 球球大作战分享链接自动点击之龙蛋获取

    注意 此教程为原创教程,未经允许,禁止转载。此教程使用Python实现,其他语言也大同小异。 更新中... 前言 ...

  • 球球大作战分享链接自动点击之获取用户信息

    声明 本文教程仅供学习使用,未经允许请勿随意传播 环境 Lunix服务器 LNMP网站服务程序 别跟我说你不知道什...

  • 球球大作战分享链接自动点击之网页爬虫篇

    声明 本文教程仅供学习使用,未经允许请勿随意传播 环境 Lunix服务器 LNMP网站服务程序 别跟我说你不知道什...

  • day13_python_pygame(老师例题)

    球球大作战

  • 球球大作战

  • 球球大作战

    欢迎来到球球大作战,也是一个不错的选择,球球大作战是一个大球吃小球的一个游戏

  • 球球大作战

    球球大作战,大家应该都玩过,可是我今天玩的球球大作战可不是游戏哦! 这个星期五的晚上,妈妈说要带我...

  • 多毅助手更新帖

    【更新内容】多毅助手2.1出来啦!修复刷圈圈接口,更新球球大作战代龙蛋接口,新出美女写真,网站防红等...【更新内...

  • 2017-07-20

    我最喜欢的电子游戏是球球大作战,跟贪吃蛇大作战相似。它的规则是求底下还没有标志的时候不能吐球、喷球。如果球在你...

  • 2017-08-25

    今天我们就来聊一款网上热门游戏球球大作战! 今天装逼松鼠带你挑战球球大作战生存模式! 首先让我看到生存模式,你有可...

网友评论

    本文标题:球球大作战分享链接自动点击之龙蛋获取

    本文链接:https://www.haomeiwen.com/subject/wsldqxtx.html