type
status
date
slug
summary
tags
category
icon
password
抓包观察,请求sms是login1.do,然后登录的时候请求login2.do。

找交叉引用来到这里

因为login1.do里面内容是加密的,所以目标是先找出怎么加密的,看看能不能从这里入手解密所有的包

查看其中encrypt函数如下,既然有AES256这个名字,先不管具体实现,先拿到密钥测试。

接着往上找,来到
NTESURSLoginEngine safeMobileLoginWithType:withMobileNum:smsCode:ursId:ursSecret:latitude:longitude:withCompleteBlock:
发现其中ursSecret就是加密密钥,来自

找到对应的settempUrsSecret函数,找调用,是在sub_101E1E1EC这里设置的

其中secret就是。这个函数是initMobAppFromURSUrlString的completionBlock。这里构造的是一个获取信息的URL

是一个Get请求,构造了这样一些字段,包含分辨率,UUID之类的
Get请求拿到的内容是一个id=xxx&key=xxx。在这个函数处理

发现把id作为id字段,key作为secret字段的内容。所以加密密钥就是从这里获取的。
但这个请求并非每次启动都会发送。只有用它自己的sharedManager找不到文件或者找到文件但处理错误的时候,才会调用setupURSServiceRequestWithCompleteBlock:去获取新的用户密钥。

ECB模式直接出

先解密login1.do。ID和params在请求URL中。ID就是从init获取的内容,params解密为手机号。


再解密login2.do。发现内容如下,用户输入的验证码在这里。

login2.do返回内容就已经包含了用户的token了。

除此之外,还有请求头的内容,也是都加密了。从User-N找交叉引用,来到加密处。


发现加密函数为NTESNBCustomRequestHeader encryptedWithString。
AES密钥neteasenewsboard。
以Appid为例,验证解密正确。

最后还差一个签名算法

交叉引用找到是MD5。构造字符串后简单的计算一次MD5.

最后还差一个traceid,构造方式也很简单

- Author:Lynnette177
- URL:https://next.lynnette.uk/article/ntNews
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts