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

制作手游脱机辅助的一般思路是什么?有了解这块的吗

  •  
  •   youthy · 2016-01-19 19:14:39 +08:00 · 9866 次点击
    这是一个创建于 3231 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有时候游戏会有一些让你隔断时间就上线领东西的做法,心想要是在自己的服务器上开个 server,不时的像服务器做这些重复操作,就省的忘了上线领东西。我想用 wireshark + tcpdump 看了看通信的 tcp 和 http 内容,然后在自己的电脑上模拟前端发送这些报文,可是这写数据看不大懂。回想起之前玩过的一些游戏有脱机的辅助,他们是怎么做的呢?不清楚服务器与客户端协议的情况下。 纯粹是好奇。希望有知道的人不吝指教。十分感谢。

    27 条回复    2017-01-15 15:41:48 +08:00
    hellov22ex
        1
    hellov22ex  
       2016-01-19 19:24:56 +08:00
    解密发送对应的报文,我是这么想的
    chrishine
        2
    chrishine  
       2016-01-19 20:28:27 +08:00
    大部分游戏传输数据是 JSON / msgPack /protobuf + Base64 ,也有自己根据自己需要定义的,但是也都是根据以上改动来的,比如简悦的 sproto 。也有自定义协议的(不过现在应该没有使用的了),一般都是直接撸原始的 socket 了,这种的抓一些特定包,也能摸索出规律。
    cnnblike
        3
    cnnblike  
       2016-01-19 20:33:33 +08:00   ❤️ 1
    其实如果是 Unity 游戏的话,直接 ILSpy ,然后用 C#撸个 UI 就行了。
    mengzhuo
        4
    mengzhuo  
       2016-01-19 21:25:52 +08:00 via iPhone
    @chrishine 谁说没有,我司自定的 aes 加密规则
    coco unity 有运行时的,挂插件就可以了 不需要找通讯协议……
    安全永远要找最弱的部分
    m939594960
        5
    m939594960  
       2016-01-19 21:33:06 +08:00
    首先 你能做出脱机领东西都功能 如果这个游戏很火的话 赶紧跑去国外 你可能会捞一笔大钱
    如果不火做这个东西有卵用啊!
    binux
        6
    binux  
       2016-01-19 21:45:56 +08:00
    "不清楚服务器与客户端协议的情况下" 的假设本身就有问题,他们很可能"清楚服务器与客户端协议"
    ETiV
        7
    ETiV  
       2016-01-19 22:01:54 +08:00
    反复执行一个操作, 抓到包之后看这些包的序列, 有没有一样的, 有规律的...如果没有...而且里面都是特别特别乱糟糟的, 00 很少见, 无规律, 基本上是上了加密的...建议 LZ 解包游戏, 找加密用的 key...
    Zzzzzzzzz
        8
    Zzzzzzzzz  
       2016-01-19 22:11:33 +08:00
    逆向+抓包. 最早的脱机挂是传 2 和 RO 的吧, 这两个服务端当时都泄漏过.
    isombyt
        9
    isombyt  
       2016-01-19 23:00:35 +08:00
    抓包,解密(可选),逆向,撸出数据结构,签名和加密,重新封装协议,撸出各个接口,组装,完成.
    PS:比开发还清楚他们的协议.
    youthy
        10
    youthy  
    OP
       2016-01-20 00:06:17 +08:00
    楼上各位菊苣的回答好专业。。。谢谢各位。。。
    youthy
        11
    youthy  
    OP
       2016-01-20 00:31:13 +08:00 via Android
    @binux 阁下是不是做过扩散亚瑟王相关的辅助?
    binux
        12
    binux  
       2016-01-20 00:51:31 +08:00   ❤️ 1
    @youthy 协议是 @isombyt 破解的
    youthy
        13
    youthy  
    OP
       2016-01-20 10:49:23 +08:00
    @binux 没想到真的是,我大二的时候用过那个辅助网页,印象中作者是灵梦头像,但是 id 想不起来。看到你的 id 突然想起来了。我这两天老想到你做的那个网站,又没有任何联系你的途径,没想到居然这么巧在这碰到了==
    youthy
        14
    youthy  
    OP
       2016-01-20 11:19:12 +08:00
    @isombyt 菊苣 你说的这些是不是要以熟悉 java android 开发, cocos unity 计算机网络这些为基础?还需要了解什么知识背景?
    hitmanx
        15
    hitmanx  
       2016-01-20 12:45:46 +08:00
    得逆向工程吧.我也不知道加密的协议是怎么破解的,应该得自身也有很丰富的防止逆向工程的经验吧,另外很可能是和内部人士认识咯
    isombyt
        16
    isombyt  
       2016-01-20 13:34:25 +08:00
    @youthy java 和 C#一窍不通,移动开发一概不会.解密基本靠猜和逆向得出密钥.逆向主要靠阅读代码能力和脑洞.其他用到的都是各种基础知识.再上一点要会动态调试.再高一点要会反反调试.再往上就是各种 VM 了.
    ahbcd112
        17
    ahbcd112  
       2016-01-21 11:36:23 +08:00   ❤️ 1
    之前搞过一个游戏的辅助。就是用 wireshark 抓包。刚刚好那个游戏是用 JSON+BASE64 加密
    再模拟发一下数据包就行了
    但是。。。。。
    随着功能的各种开发。再也不用玩那个游戏了,整天挂机,挂机刷怪。全自动。都不知道上去干什么,就弃坑了,辅助需谨慎
    youthy
        18
    youthy  
    OP
       2016-01-21 17:16:41 +08:00
    @ahbcd112 谢谢提醒。。。。囧
    fanxin123
        19
    fanxin123  
       2016-12-15 21:52:30 +08:00
    现在有想过写手游的脱机吗巨巨
    fanxin123
        20
    fanxin123  
       2016-12-15 21:55:50 +08:00
    @ahbcd112@isombyt 现在有兴趣写手游的脱机吗?有意的话条件可以谈
    isombyt
        21
    isombyt  
       2016-12-16 13:15:04 +08:00   ❤️ 1
    @fanxin123 新注册的小号挖坟,还没有其他信息,让人感觉略可疑啊..
    fanxin123
        22
    fanxin123  
       2016-12-16 13:41:36 +08:00 via iPhone
    @isombyt 因为百度第三个就是这个帖子…巨巨有意吗?加 qq 详细聊? 3121293021
    cao19920425
        23
    cao19920425  
       2016-12-23 23:20:34 +08:00
    @isombyt 菊苣,认真拜读了你的逆向概要的几篇博文,有些问题想要咨询一下,能否指点我一下?
    isombyt
        24
    isombyt  
       2016-12-24 21:15:04 +08:00 via Android   ❤️ 2
    @cao19920425 tg:@isombyt
    cao19920425
        25
    cao19920425  
       2017-01-07 16:34:10 +08:00
    @isombyt 菊苣,能否加我 Q 详聊?在这里也一下说不清楚,能否加我企鹅 250622148 详聊.
    cao19920425
        26
    cao19920425  
       2017-01-07 16:38:00 +08:00
    @isombyt 这些天现实有点事情很麻烦,同时也去尝试了一些别的帖子方向的做法,所以没有及时来看菊苣的回复,请原谅,请务必加 Q 细聊.
    cao19920425
        27
    cao19920425  
       2017-01-15 15:41:48 +08:00   ❤️ 1
    @isombyt 菊苣,求加我企鹅指点一下啊....在这些地方不方便啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2250 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:40 · PVG 09:40 · LAX 17:40 · JFK 20:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.