原神启动!

这是官网

https://ys.mihoyo.com/main/

img

搜一下

f12 全局搜索一下encrypt这个关键词

发现

img

这个文件很可疑

img

找一下

在这个文件里面找到了两个和登录传参的参数一样的两个地方

应该就是这里, 双击!

img

断一下

在这里截断 尝试登录发现停下来了

说明就是这里

img

追一下

继续追进调用的函数

img

再断一下

Try 函数 ez!

到这里发现了 e 和 n 应该是 RSA 加密

img

还可以拿到值

img

RSA 加密的核心是公钥(n, e)私钥(n, d)

字段 含义(JS 逆向中常见叫法) 作用
n 模数(Modulus) RSA 的核心大整数,公钥 / 私钥都依赖它,通常是几百位的十进制大数
t(0-36) 大概率是n的分段拆分值 前端为了传输 / 处理方便,会把超大的n拆成多个小段存储(比如按位数 / 长度拆分)
s:0 状态位(成功标识) 表示参数生成 / 拆分成功
t:37 分段总数 说明n被拆成了 37 段(0-36)

这里的 n 被拆分了

转为十六进制还原加密逻辑

还原n + 转十六进制

在控制台使用 this.n.toString(16)this.e.toString(16),就是把 RSA 的n(模数)和e(公钥指数)从十进制数转为十六进制字符串

img