zoukankan      html  css  js  c++  java
  • 百万亚瑟王脱机挂原理

    声明:仅供兴趣研究,切勿用于非法目的,一切于本文无关.

    温馨提示:用外挂会被封号

    --------------------------

    最近沉迷于百万亚瑟王。。。

    被里面的土豪吓尿了,作为休闲玩家,就是在实验室无聊了跑跑图而已,也不求满破,收集下卡牌而已T_T(其实就是穷逼)

    最近听说有外挂了,还是脱机的。。。

    真厉害!我从来就不会分析这些协议啊什么的。。。

    不过呢,我还是抓了个包。。。

     

    在Bluestacks虚拟机里面运行的,好像可以用什么app可以直接在里面抓,谁叫我不会呢。

    直接在外面用wireshark抓就好了~

    然后。。。然后。。。。尼玛,这个游戏用的http协议。。。

    比如。。跑图的时候是

    POST /connect/app/exploration/explore?cyt=1 HTTP/1.1
    User-Agent: Million/100 (GT-I9100; GT-I9100; 2.3.4) samsung/GT-I9100/GT-I9100:2.3.4/GRJ22/eng.build.20120314.185218:eng/release-keys
    Accept-Encoding: gzip, deflate
    Content-Length: 129
    Content-Type: application/x-www-form-urlencoded
    Host: game2-CBT.ma.sdo.com:10001
    Connection: Keep-Alive
    Cookie: S=bbub1k9sfmdk7k9queo******
    Cookie2: $Version=1
    
    area_id=SHJURfU8bNi3%2FaneWmTF5w%3D%3D%0A&auto_build=HJQrxs%2FKaF3hyO81WS2jdA%3D%3D%0A&floor_id=HJQrxs%2FKaF3hyO81WS2jdA%3D%3D%0A
    

    很明显了,Cookie是一个appkey,就像http的seesion一样来区分身份的。

    真的就这么简单么。。。我写个Ruby脚本来验证下

    跑了80%

    脚本如下

    require 'net/http'
    
    url = 'http://game2-cbt.ma.sdo.com:10001/connect/app/exploration/explore?cyt=1'
    uri = URI.parse(url)
    http = Net::HTTP.new(uri.host , uri.port)
    r =  Net::HTTP::Post.new(uri.path)
    r['User-Agent'] = ' Million/100 (GT-I9100; GT-I9100; 2.3.4) samsung/GT-I9100/GT-I9100:2.3.4/GRJ22/eng.build.20120314.185218:eng/release-keys'
    r['Accept-Encoding'] = 'gzip, deflate'
    r['Content-Length'] = '129'
    r.content_type = 'application/x-www-form-urlencoded'
    r['Host'] = 'game2-cbt.ma.sdo.com:10001'
    r['Connection'] = 'Keep-Alive'
    r['Cookie'] = 'S=bbub1k9sfmdk7k9queo******'
    r['Cookie2'] = '$Version=1'
    # params = {}
    # params['area_id'] = "area_id=SHJURfU8bNi3%2FaneWmTF5w%3D%3D%0A&auto_build=HJQrxs%2FKaF3hyO81WS2jdA%3D%3D%0A&floor_id=HJQrxs%2FKaF3hyO81WS2jdA%3D%3D%0A"
    # puts params['area_id']
    r.body = "area_id=SHJURfU8bNi3%2FaneWmTF5w%3D%3D%0A&auto_build=HJQrxs%2FKaF3hyO81WS2jdA%3D%3D%0A&floor_id=HJQrxs%2FKaF3hyO81WS2jdA%3D%3D%0A"
    # r.set_form_data(params)
    res = http.request(r)
    puts res.code

    执行输出200,表示http成功请求

    好,游戏中返回,然后再进入这个地图发现

    哈哈哈,成功的往前迈出了一步!!!

     

    很简单吧,这个游戏好像操作也不多,都抓一下就能写出脱机挂啦.

    不过有个地方要说下,就是请求的数据里面有&千万不要urlencode,不然&会被转意,就木有效果了,我被这个搞了好久T_T

  • 相关阅读:
    HTML当中特殊字符的表示
    溢出文本用“...”代替
    【转】图标字体化浅谈
    字体在网页中画ICON图标
    图片轮播
    js获取网页屏幕可视区域高度
    MVC入口程序 | 简单调用及实例化
    初学者对于MVC架构模式学习与理解
    PHP初学习笔记(2015/4/8)
    linux常用20命令 --转载
  • 原文地址:https://www.cnblogs.com/x1957/p/3304440.html
Copyright © 2011-2022 走看看