V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
simpleapples
V2EX  ›  Python

「贪吃蛇大作战」的刷分尝试

  •  
  •   simpleapples · 2016-08-29 15:48:16 +08:00 · 3088 次点击
    这是一个创建于 3000 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨晚尝试用 Python 写了一个「贪吃蛇大作战」的刷分脚本,并且把整个思路在 blog 中记录了下来。

    blog 文章(需科学上网): http://www.simpleapples.com/2016/08/snake-crack/

    gist 刷分脚本: https://gist.github.com/simpleapples/065f5a8ede296db350f2bcbffa509650

    只是一个简单的初步探索,刷分请慎重。

    22 条回复    2016-09-21 11:24:41 +08:00
    ragnaroks
        1
    ragnaroks  
       2016-08-29 15:56:28 +08:00
    楼主网站正常打开,没蛤
    qqmishi
        2
    qqmishi  
       2016-08-29 15:59:27 +08:00 via Android
    挺不错的,除了感觉看了博客名之后打码完全没用啊
    simpleapples
        3
    simpleapples  
    OP
       2016-08-29 16:02:29 +08:00
    @qqmishi 哈哈哈哈 好像是这样
    simpleapples
        4
    simpleapples  
    OP
       2016-08-29 16:03:09 +08:00
    @ragnaroks 楼主手机只能挂 vpn 访问(⊙o⊙)
    jccg90
        5
    jccg90  
       2016-08-29 16:24:00 +08:00
    呃, apk 竟然没用加固服务加固一下?太不专业了吧。。。
    sqxieshuai
        6
    sqxieshuai  
       2016-08-29 16:50:32 +08:00
    1024
    hitmanx
        7
    hitmanx  
       2016-08-29 19:45:02 +08:00
    我靠, APK 逆向能到这个程度?作为外行震惊了。
    diefishfish
        8
    diefishfish  
       2016-08-29 20:40:06 +08:00
    安卓也尝试抓了一下发现 snake_sign 一直在变动啊
    shower
        9
    shower  
       2016-08-29 22:57:41 +08:00
    @diefishfish
    “通过查看代码,可以清楚的看到 snake_sign 字段的签名逻辑,首先将请求中所有参数按 ASCII 码顺序排列拼接成字符串,然后在字符串前添加 POST& + [URL Path],添加后使用 Key 进行 SHA1 加密, key 也可以在代码中获取到。对加密生成的结果,需要做一次 base64 ,才是最终 snake_sign 字段的结果。”
    kill: 击杀次数
    length: 蛇的长度
    这俩个参数都是变动的,所以 snake_sign 当然会一直变动的啊
    tvallday
        10
    tvallday  
       2016-08-29 23:05:26 +08:00
    这个是山寨版的中国山寨版。不过做得太烂。
    Allianzcortex
        11
    Allianzcortex  
       2016-08-29 23:09:27 +08:00
    SHA1 后还 b64.。。。用 hexdigest() 也能变成字符串啊。。不搞 Android 开发的渣渣路过。。。现在都不知道怎么逆向。。。
    supman
        12
    supman  
       2016-08-29 23:22:57 +08:00
    @simpleapples 想问下 为啥要通过 android 逆向 ios 不行么?
    liqingcan
        13
    liqingcan  
       2016-08-30 00:26:59 +08:00
    我还以为你用 py 写了个脚本来刷呢。原来是这样
    simpleapples
        14
    simpleapples  
    OP
       2016-08-30 00:38:48 +08:00 via iPhone
    @supman 可以啊 只不过安卓刚好提供 apk 下载 直接扔工具里看就可以 方便点
    vincentjie
        15
    vincentjie  
       2016-08-30 01:05:59 +08:00
    @jccg90
    @simpleapples
    记得之前有看过一下 iOS 下的包,游戏是用 cocos2d-js 写的,不仅没有加密,连代码都是明文的。。 orz 。。
    popok
        16
    popok  
       2016-08-30 10:29:40 +08:00
    对啊,按理说不是 sha1 的结果是 40 位的纯数字字母字符串啊,就算 base64.encode 后,在 decode ,还不是 40 位纯数字字符串啊,怎么会不可读
    popok
        17
    popok  
       2016-08-30 10:31:11 +08:00
    @diefishfish 那个 snake_sign 就是用来校验用的,看啊可能你提交的东西是不是合法,如果你随便改个分数,而又不知道这个 snake_sign 算法的话,他根据分数什么算出来的 snake_sign 肯定不同,就知道你肯定改了某些东西了
    0x5e
        18
    0x5e  
       2016-08-30 15:21:52 +08:00
    哈哈好巧我前天也在弄这个。。 流程和你差不多
    是不是刷的分数太高了被过滤了啊,我一开始改了 666666 ,排行榜上没找到,然后改了个比第一名略高一点的分, 150000 ,然后就出来了
    不过第二天发现数据被删掉了
    还刷过一个 65535 , 100 多名的也不见了
    simpleapples
        19
    simpleapples  
    OP
       2016-08-31 11:55:37 +08:00
    @0x5e 我刷的分数留了两三天,今天早上发现被删了
    whnzy
        20
    whnzy  
       2016-09-08 20:06:45 +08:00
    包已经抓过了,只是不知道 secret 是什么!
    simpleapples
        21
    simpleapples  
    OP
       2016-09-08 20:25:54 +08:00
    @whnzy gist 上的那个脚本里有哦
    tirunity
        22
    tirunity  
       2016-09-21 11:24:41 +08:00
    怪不得 snake_sign 一直在变。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2857 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 07:01 · PVG 15:01 · LAX 23:01 · JFK 02:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.