Skip to content
This repository has been archived by the owner on Dec 24, 2023. It is now read-only.

常见问题

Jixun Wu edited this page Jun 3, 2023 · 5 revisions

使用该项目时可能经常遇到的一些问题和解答。

网页端

批量解密 / 批量转换

参见批量转换条目。

安卓端 STag 错误

尝试解密安卓端 v11.3.5 以上版本加密的文件,会得到如下的报错信息:

ERROR: could not derive embedded ekey from file.
       stag file (Android platform) does not embed decryption keys

因为从该版本开始,软件不再内嵌密钥文件到加密后的文件。

其它不支援的文件

如果遇到其它不支援的文件,软件会提供类似于下方的错误信息(v0.0.8 开始):

ERROR: could not derive embedded ekey from file.
       unknown magic: 00 00 00 1a 53 54 61 67 (....STag)

请在提交错误报告并提供该信息。如果可以,请一并附带加密后的文件。

解密密钥获取

注意:自 v0.0.9 版本开始,这个工具不再内嵌解密所需要的密钥。

你需要自行逆向 PC 客户端的 CommonFunction.dll 获取。

其中 seed 为传入 make_simple_key 的参数,伪代码如下:

// 需要你自己寻找
constexpr uint8_t kSimpleKeySeed = 0;

// make simple key
uint8_t simple_key_buff[8] = {0};
for(auto i = 0; i < 8; i++) {
  auto x = static_cast<double>(i) * 0.1 + static_cast<double>(kSimpleKeySeed);
  simple_key_buff[i] = static_cast<uint8_t>(fabs(libm_sse2_tan_precise(x)) * 100.0);
}

Mix Key 则是在此附近的两个密钥,分别为 16 字节长度(从 28 字节的数据解密而来); 该密钥会被传入 tc_tea 解密函数用于下一步的密钥提取。