《梦幻西游》电脑版官方论坛

标题: 盲猜将军令原理 [打印本页]

作者: zheryu    时间: 2024-11-5 12:36
标题: 盲猜将军令原理
本帖最后由 zheryu 于 2024-11-5 12:45 编辑

老玩家都知道,以前的将军是没联网的,它每分钟会刷新6个数字用于验证。是不是很好奇是怎么实现的?
接下来是我的猜测,假如现在的时间是11月05日12点30分,我们取后6位数作为验证码 就是051230。
但是我们不能直接用这6个数,不然太明显了,于是我们把0-9个数字随机排列。
比如把0123456789变成5876320149,那么051230就变成了528765。
但是将军令每分钟都刷新,如果这个排列一直不变,那每分钟只有最后一个数字会变,一下子就会被破解。所以这个随机排列也要每分钟刷新。比如我们定10个随机排列尾数用户0-9对应
0----5876320149,2----3258714960,3----5208769314,4----7658312049,5----5018637249,6----5720163498,7----9532876014,8----5608327149,9----5207631489当当前时间最后一位是0 就用0对应的排列,是1就用1的排列,那么就大功告成了。
只要将军令的算法和游戏服务器里的算法一致,就能对上。





作者: zheryu    时间: 2024-11-5 12:54
这只是基础原理,比如每个将军同一分钟的验证码都不同,所以这个随机序列每个将军令都不同,服务器验证的时候只要找到这个账号绑定的所有将军令,逐一匹配就行。
作者: 清水果果    时间: 2024-11-5 13:31
  可惜你出生太晚了
不然肯定是破译敌军电报密码的好手
作者: 幻梦一场乐    时间: 2024-11-5 13:36
厉害。。。
作者: 好大一只羊    时间: 2024-11-5 13:57
这个东西的学名叫做,one-time password,目前已经发布为RFC标准,有兴趣可以看下RFC 6238 - TOTP: Time-Based One-Time Password Algorithm




欢迎光临 《梦幻西游》电脑版官方论坛 (https://xyq.netease.com/) Powered by Discuz! X3.3