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

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

HMAC signed request
msg7086
2016-05-23 11:34:34 +08:00
游戏开始时候问服务器拿一个跟时间有关的 token 呗。
上报的时候 token 一次性有效,就不能重放了。
ihciah
2016-05-23 12:58:16 +08:00
各种签名是安全的,但是只要逆向程序本身不是一样可以伪造 2333
Exin
2016-05-23 14:07:20 +08:00
@msg7086 把拿 token 这一步也模仿了不是就破了吗,问题变成了拿 token 要怎么防了
Exin
2016-05-23 14:13:00 +08:00
不考虑程序被逆向的话,设计个简单的算法把成绩加密,在服务端解密就行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/280576

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX