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
使用该项目时可能经常遇到的一些问题和解答。
- ( 当前项目/网页版) https://jixunmoe.github.io/qmc2/
参见批量转换条目。
尝试解密安卓端 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
解密函数用于下一步的密钥提取。