赞 | 400 |
VIP | 0 |
好人卡 | 24 |
积分 | 250 |
经验 | 45372 |
最后登录 | 2024-7-2 |
在线时间 | 3339 小时 |
Lv5.捕梦者 (版主)
- 梦石
- 1
- 星屑
- 23989
- 在线时间
- 3339 小时
- 注册时间
- 2011-7-8
- 帖子
- 3926

|
本帖最后由 guoxiaomi 于 2018-6-7 15:42 编辑
关于联机可能的作弊,只能说防不胜防,改存档,截取网络数据,改内存,破解游戏。
1. 改存档,直接把本地的存档加密就行了。如果存档内容很少,小于1024bit,直接rsa公钥加密,需要解密的时候上传到服务器。
2. 使用 https 通讯或者类似的方案(非对称+对称加密)
3. 似乎可以在内存里保存另一个值,实际算的时候用别的,具体我也没做过。
4. 破解游戏,好像没有办法?
恶意的攻击说没办法了,我操作就是防君子不防小人,aes 密钥写在工程里,然后工程是默认加密……
关于注册,我是这样做的
玩家第一次用默认的key = (0, md5(0)) 连上服务端后,服务端会记录当前的总玩家数n,然后把key = (n, md5(n)) 这两个数下发到本地存起来。以后玩家就用这个 key 登陆服务器了。只要md5的 salt 取的长,玩家根本不可能知道 n->md5(n) 的计算方法,这样就避免玩家伪造 key. 而且注册、登陆、验证玩家不需要任何操作 |
|