风云令学习

风云令版本 1.6.0 (当前最新版本高于1.6.0)

初始化

1. 初始化一对公私钥

2. 访问 http://otp.aliyun.com/cltsvr/init?dk=867064012051759&ot=android&ov=4.1.1&rn=0&ver=1.6.0

其中 dk 是client端预先生成的一对公私钥的公钥部分,用于服务器端加密信息

返回值:

其中: sdata就是服务器使用client端的公钥加密后的信息; svrtm: 是服务器端时间,用于能和client端时间同步

3. 解密sdata:

该解密可能是普通的非对称解密(有可能不是),反编译不出来

4. sdata解密后的数据

sdata解密后先做一次urldecode,得到的是json格式的数据,包含如下内容:

 

5. 稍后再看sdata中的各项数据是如何使用的

(看似 sdata是用服务器端的私钥加密的,然后用预埋在client里面的server的公钥来解密; 只是这样的逻辑太傻了吧。。。,不过尝试用该过程来解密sdata却没有成功)

 

 

校准时间

http://otp.aliyun.com/cltsvr/sync?sn=23579425AAM735A6&otp=947668&rn=0

其中:

sn: 序列号

otp: 当前的动态密码

返回值:

 

查看绑定的账号:

http://otp.aliyun.com/cltsvr/qrypst?sn=23579425AAM735A6&otp=974831

 

返回值:

 

卸载后重新安装:

init 的请求参数完全一样:说明client端的公私钥是写死的,没有临时生成

返回结果不同,序列号也不同:说明随机号中有随机成分(当然也要避免序列号重复)

 

serviceRsa类中有一些decod是在处理client的privatekey,这部分反编译不出来,比较麻烦

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据