玩传奇论坛

标题: 关于SKY验证登陆器原理 [打印本页]

作者: admin    时间: 2021-12-13 19:03
标题: 关于SKY验证登陆器原理
TDefaultMessage = record
    Recog    :Integer;
    Ident    :dWord;  //注意:Hero引擎采用dWord 32位
    Param    :dWord;
    Tag      :dWord;
    Series  :dWord;
  end;

function  MakeDefaultMsg (msg:Word; Recog:integer; param, tag, series:Word):TDefaultMessage;
var Msg: TDefaultMessage;
Msg := MakeDefaultMsg(CM_ADDNEWUSER, 0, 0, 0, 0);//Msg.msg 注册账号编号; Msg.Recog 为 LoginSrv 验证码
最后 EncodeMessage(Msg) 发送给登陆网关
//自己做专用网关,通常多加一条进行验证,以下是我个人采用方案。(客户端登陆连接需要登陆器转发处理)

1、登陆器连接网关成功,网关对该连接Socket ID 分配一个随机验证码(动态), 再次进行加密后发送给登陆器。
2、登陆器解密该字符串,获得本次连接的随机验证码。
3、MakeDefaultMsg(CM_ADDNEWUSER, SKY验证码, 0, 网关密码(加密), 随机验证码);  
4、登陆网关获得数据解密后判断 随机验证码 和 网关密码。
//如果还想保险点 EncodeMessage(Msg) 字符串进行二次加密






欢迎光临 玩传奇论坛 (http://wanmirbbs.com/) Powered by Discuz! X3.2