Created 加密格式 (markdown)
parent
39e5a17ce0
commit
e5af2000b3
31
加密格式.md
Normal file
31
加密格式.md
Normal file
@ -0,0 +1,31 @@
|
||||
有四种,可以通过文件头判定:
|
||||
|
||||
- `E!01` 生成 AES Key 进行解密。一次性解密,即 init → 多次 update → final。
|
||||
- `E!02` 在 v1 基础上,更改为每 x 字节重置一次 AES 加密状态,即多次 [init → update → final] 循环。
|
||||
感觉强度反而变弱了?但对流媒体来说更为友好,如跳转到最后一秒时不需要解密前面的数据。
|
||||
- `E!03` 在 v2 基础上,在 MAGIC 后增加了一个 original size (8 bytes; big-endian) 的数据。
|
||||
- `E!04` 在 v3 基础上,AES Key 的生成方式更改。
|
||||
|
||||
※ 实际上代码没有执行 `update`,都是简单粗暴的 init → final。
|
||||
|
||||
加密 key 可以通过一个初次启动应用时生成的 uuid 来派生出加密用的 aes key。这个值储存在应用私有目录下,因此需要 root 权限来获取。
|
||||
|
||||
但这也同时意味着,歌曲文件很大概率是下载后本地加密的。
|
||||
不排除 joox 在未来会将服务器下载的文件更改为“预”加密的状态,从而产生一个通用 key。
|
||||
|
||||
---
|
||||
|
||||
在 root 后的设备进入终端,可以键入下述内容获得设备 uuid:
|
||||
|
||||
```
|
||||
grep -aoE "OPENUDID2[^0-9a-f]*([0-9a-f]{32})" /data/data/com.tencent.ibg.joox/files/mmkv/globalconfig | tail -c 32
|
||||
```
|
||||
|
||||
会得到一个 32 位字符的设备 uuid。
|
||||
|
||||
![image](https://user-images.githubusercontent.com/5713045/146625124-47bd63ec-9c23-494d-aca9-0adeed53cb73.png)
|
||||
|
||||
※ 注意事项
|
||||
|
||||
- 请不要公开设备 uuid,因为 joox 会上报当前设备信息。
|
||||
- root 设备有一定概率产生不可预知的问题(如应用不兼容、失去厂家保修)。建议使用已淘汰的设备进行操作。
|
Loading…
Reference in New Issue
Block a user