暴雪战⽹安全令的原理
1、⾸先创建⼀个56位的byte数组,结构如下:
00byte[1]固定为1;
01byte[37]37位的随机数据,只使⽤⼀次,⽤来解密服务器返回数据;
38byte[2]区域码:USorEU;orCN
40byte[16]设备模型数据(⼿机型号,或者任意数据)
2、向服务器请求创建数据发送请求
获取服务器返回数据,长度应该为45位,结构如下:
00-07服务器时间(⽹络字节序,计算本地时间与服务器时间的差值);
08-45通过步骤1中37位随机数据加密过的数据(包括序列号和私钥)
3、将步骤2中08-45这37位数据进⾏解密
操作⽅法为与步骤1中的37位随机数据按位进⾏“与或”操作
解密后的37位数据结构如下:
00-19私钥(私钥就是计算验证码所⽤的钥匙)
20-37序列号(格式为US-xxxx-xxxx-xxxx,就是在战⽹上绑定到账户所需要的14位数字序号,输⼊的时候,不需要中间的连字符)
这也就是为什么所有版本的⼿机验证器(包括java,安卓等)第⼀次启动需要联⽹的原因,以后启动则⽆需联⽹,只需要通过私钥将当前时间
加密即可,除⾮本地时间更改,与服务器不同步
4、获取验证码
将当前时间,通过时间差值计算出服务器时间
然后服务器时间除以30000(毫秒,即30秒,也就是每半分钟更换⼀次验证码)
将该值通过步骤3中的私钥,经过SHA1算法计算出结果(SHA1算法很常见,这⾥不赘述),这个结果就是验证码.
本文发布于:2023-03-15 05:28:24,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678829305259200.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:战网手机安全令.doc
本文 PDF 下载地址:战网手机安全令.pdf
留言与评论(共有 0 条评论) |