V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
johnsneakers
V2EX  ›  问与答

单机版网游,如何做到数据被抓包刷成绩?

  •  
  •   johnsneakers · 2016-05-23 10:48:22 +08:00 · 2074 次点击
    这是一个创建于 3107 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们的游戏是类似俄罗斯方块,游戏中的时候差不多是“单人版”,打完客户端会上报用户成绩信息。问题来了,守着抓包,然后刷请求就可以不断刷分了。 请问各位有什么好的方案吗, 防到 90%的人就可以了
    8 条回复    2016-05-23 14:13:00 +08:00
    mengzhuo
        1
    mengzhuo  
       2016-05-23 10:57:35 +08:00 via iPhone
    防抓包就用 tls
    然后核心模块用 c 写
    最狠的是服务器重放按键记录算得分(一般只是抽查或者前 100 名得分)
    ytmsdy
        2
    ytmsdy  
       2016-05-23 11:14:46 +08:00
    发送的数据包最后加一个数据校验码,加上游戏开始时间,游戏结束时间,得分,七七八八的参数丢进去,然后做一个 md5 加密,到服务器验证一下是不是一致就可以了。
    yeyeye
        3
    yeyeye  
       2016-05-23 11:21:04 +08:00
    搞个行为方面的判断吧 就是收集一些游戏中的数据 一起提交给服务器 服务器稍微分析一下
    Livid
        4
    Livid  
    MOD
       2016-05-23 11:25:20 +08:00   ❤️ 1
    可以 Google 一下这个关键字:

    HMAC signed request
    msg7086
        5
    msg7086  
       2016-05-23 11:34:34 +08:00
    游戏开始时候问服务器拿一个跟时间有关的 token 呗。
    上报的时候 token 一次性有效,就不能重放了。
    ihciah
        6
    ihciah  
       2016-05-23 12:58:16 +08:00
    各种签名是安全的,但是只要逆向程序本身不是一样可以伪造 2333
    Exin
        7
    Exin  
       2016-05-23 14:07:20 +08:00 via Android
    @msg7086 把拿 token 这一步也模仿了不是就破了吗,问题变成了拿 token 要怎么防了
    Exin
        8
    Exin  
       2016-05-23 14:13:00 +08:00 via Android
    不考虑程序被逆向的话,设计个简单的算法把成绩加密,在服务端解密就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2387 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:02 · PVG 00:02 · LAX 08:02 · JFK 11:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.