今天用 objection 拿了一下 Hoyolab 的 DS 加密 salt,简要记录一下。
起因:米游社接口请求需要加密的 DS, DS 的算法已经由 lulu666lulu 等大佬拿到,可见 Github 。有了算法和关键字,直接投机取巧拿 salt 即可,方法来源于 yllhwa 。
PC 端
s
安装 objection 会自动安装 frida 依赖。
Android 端
到 release 页面 下载对应处理器架构的 frida-server,我这里下载 frida-server-15.1.17-android-arm64.xz,解压。
准备有 root 权限的手机一部,利用 adb 将解压后的文件 push 到手机中。
1
| adb push frida-server-15.1.17-android-arm64 /data/local/tmp/frida-server
|
- 启动 frida-server
1
2
3
4
5
| adb shell
su
cd /data/local/tmp
chmod 755 frida-server
./frida-server
|
- 端口转发监听
1
2
| adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
|
- 检查是否成功
能够输出进程列表即成功。
搜内存
- 注入应用
1
| objection -g com.mihoyo.hoyolab explore
|
- 搜内存中的关键字并 dump 内存
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $ memory search "salt=" --string --offsets-only
# Searching for: 73 61 6c 74 3d
# Pattern matched at 7 addresses
# 0x7060361818
# 0x7060398018
# 0x7097f85089
# 0x70ace4c198
# 0x711818dc18
# 0x7118552018
# 0x712c7dd818
$ memory dump from_base 0x7060361818 64 ./dump_memory
# Dumping 64.0 B from 0x7060361818 to ./dump_memory
# Memory dumped to file: ./dump_memory
|
拿到结果 salt=okr4obncj8bw5a65hbnn5oo6ixjc3l9w
。
参考资料
objection - 基于 frida 的命令行 hook 工具食用手册
实用 FRIDA 进阶:脱壳、自动化、高频问题
实用 FRIDA 进阶:内存漫游、hook anywhere、抓包