V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shuson
V2EX  ›  iOS

昨天用 Charles 抓 ios 上皇室战争 app 的包,抓到毛线了

  •  1
     
  •   shuson · 2016-07-12 17:16:19 +08:00 · 12530 次点击
    这是一个创建于 3047 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没做过移动开发

    很 naive 的认为是 http 协议通信

    请问这种类似皇室战争的 app 怎么和服务器通信的?

    还有其他通信方式么?

    34 条回复    2016-07-13 15:45:05 +08:00
    SourceMan
        1
    SourceMan  
       2016-07-12 17:19:11 +08:00
    即时通讯,怎么也不能靠 HTTP 轮询吧?
    认为为 socket 都有点 naive 了,可能自己实现的协议
    LINAICAI
        2
    LINAICAI  
       2016-07-12 17:23:23 +08:00
    这能捉到就邪了
    shuson
        3
    shuson  
    OP
       2016-07-12 17:25:13 +08:00
    @LINAICAI 同时也开着 wireshark 呢, sc 再怎么实现自己的协议,他也要走 tcp/ip 吧,为啥 wireshark 都截不到
    fengjianxinghun
        4
    fengjianxinghun  
       2016-07-12 17:33:51 +08:00
    @shuson 有可能是 udp ?
    fengjianxinghun
        5
    fengjianxinghun  
       2016-07-12 17:34:34 +08:00
    @shuson 实时游戏要么用 socket tcp 做的好一点的 udp 。
    shuson
        6
    shuson  
    OP
       2016-07-12 17:41:29 +08:00
    @fengjianxinghun 请问怎么抓这些包啊, wireshark 不好使了。
    先不管数据有没有加密
    bomb77
        7
    bomb77  
       2016-07-12 17:48:11 +08:00
    在哪里抓包的?路由器?
    goodan
        8
    goodan  
       2016-07-12 17:48:37 +08:00
    铜球抓包,这货太卡 wifi 了。。。
    shuson
        9
    shuson  
    OP
       2016-07-12 17:53:48 +08:00
    @bomb77 哎呀,你点醒我了

    我在自己 mac 上 怎么能抓得到手机上的呢。太傻了我,设定 proxy 当然没用。

    现在问题升级了,我怎么从路由器上抓呢?
    faceair
        10
    faceair  
       2016-07-12 17:56:04 +08:00   ❤️ 1
    搜 iOS tcpdump ,在 mac 上配合 Xcode 可以抓
    wyx
        11
    wyx  
       2016-07-12 17:58:39 +08:00
    关注关注
    so898
        12
    so898  
       2016-07-12 18:00:49 +08:00
    我还以为楼主你是用 Mac 开了 Wifi 热点,手机连上 Wifi 热点之后用 Wireshark 抓的包呢……
    shuson
        13
    shuson  
    OP
       2016-07-12 18:01:31 +08:00
    @so898 这个应该也可以对吧,我晚上回家准备这么干
    21grams
        14
    21grams  
       2016-07-12 18:02:55 +08:00
    别抓了,抓了你也分析不出来,白费劲。
    delphiqin
        15
    delphiqin  
       2016-07-12 18:18:59 +08:00
    @shuson 不用路由上抓,手机连到 Mac 电脑上,电脑上用 rvictl+wireshark 抓包
    tvallday
        16
    tvallday  
       2016-07-12 18:31:49 +08:00 via Android
    可能用 UDP 而且发送的都是二进制代码,也不是说分析不出来,不过这么复杂的游戏很费劲就是了。
    anyclue
        17
    anyclue  
       2016-07-12 21:34:41 +08:00
    电脑做代理为什么抓不到?终归是手机发出来的啊?
    dxwwym
        18
    dxwwym  
       2016-07-12 21:43:13 +08:00 via iPhone
    mac 当热点靠谱
    13k
        19
    13k  
       2016-07-12 23:00:09 +08:00
    这货呢 mitmproxy
    Mac
        20
    Mac  
       2016-07-12 23:41:24 +08:00
    楼主想干嘛?每个箱子开传奇?
    likai
        21
    likai  
       2016-07-13 00:18:52 +08:00
    手机连接电脑代理然后抓取。
    第二。基本上抓了包。
    还得会一点反编译。
    现在手游的通信协议也开始加密了。
    单凭封包也研究不出来啥。
    maskerTUI
        22
    maskerTUI  
       2016-07-13 00:57:50 +08:00
    曾经我也很 naive 的用 burpsuite 抓 coc 的包
    Ahri
        23
    Ahri  
       2016-07-13 03:55:46 +08:00
    fork3rt
        24
    fork3rt  
       2016-07-13 07:44:57 +08:00 via iPhone
    好多手游都是 TCP 协议的, 同求 TCP 如何抓? TCPdump 没成功
    sherlocktheplant
        25
    sherlocktheplant  
       2016-07-13 08:55:58 +08:00
    找个 openwrt 的路由器 用 tcpdump 很容易抓 抓完直接可以用 wireshark 看 猜测是 UDP 的
    shuson
        26
    shuson  
    OP
       2016-07-13 09:10:19 +08:00
    @Mac 我就想破解那些加密的锦标赛,当刷出来锦标赛的时候,万一 server 设计成密码也同事刷到 app 端,然后 app 端做判断,岂不是有机可乘了
    shuson
        27
    shuson  
    OP
       2016-07-13 09:12:40 +08:00
    @sherlocktheplant 我现在的 ea6350 不能刷 openwrt
    还是用 ios tcpdump 吧
    Mutoo
        28
    Mutoo  
       2016-07-13 09:21:48 +08:00
    mac 使用网线连网,然后开 wifi 共享给手机。 wireshark 抓 mac 的无线网卡即可。不用搞那么复杂。
    aprikyblue
        29
    aprikyblue  
       2016-07-13 10:31:48 +08:00 via Android
    看到 9l 笑炸,没人觉得楼主好蠢萌吗
    zhenjiachen
        30
    zhenjiachen  
       2016-07-13 10:59:19 +08:00
    我前段时间也在研究 列王的纷争 抓包,然后没有然后了,我想做的是一个离线挂机的东西。
    hdshen
        31
    hdshen  
       2016-07-13 11:33:07 +08:00
    用的是 UDP 部分使用推送的是 websocket
    shuson
        32
    shuson  
    OP
       2016-07-13 11:40:56 +08:00
    @hdshen 加密不加密就看公司怎么实现了对吧?
    bjzhou1990
        33
    bjzhou1990  
       2016-07-13 15:06:02 +08:00
    Charles 当然可以抓手机的包,手机和 mac 在同一局域网,手机 WiFi 设置代理为 mac ip ,端口号默认是 8888,可以在 Charles 的 preference proxy setttings 里改
    shuson
        34
    shuson  
    OP
       2016-07-13 15:45:05 +08:00
    @bjzhou1990 抓走 proxy 的 http 可以,不走 proxy 的就抓不到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5799 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:11 · PVG 14:11 · LAX 22:11 · JFK 01:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.