diff --git a/README.md b/README.md index 52bb105..9f288c0 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,27 @@ # douyin-algorithm -当前分析的版本是 douyin_23.2.0_arm64 - -## com.ss.android.ugc.aweme 23.2.0 - -这是最后一个4神版本 `X-Ladon`, `X-Argus`, `X-Gorgon`, `X-Khronos` - -- [x] `X-Ladon`(生成) -- [x] ~~`X-Argus`(实现了还原为protobuf, 生成还没写完)~~ -- [ ] `X-Gorgon`(还未开始分析) -- [x] `X-Khronos` (时间戳) - -## com.ss.android.ugc.aweme 23.3.0 +## 说明 -从 douyin_23.3.0 开始变成6神了,新版本多了两个参数 `X-Helios`, `X-Medusa` +仓库不再更新了,有我开源的这些,有需求的自己分析算法也没啥问题了。 -- [ ] `X-Helios` -- [ ] `X-Medusa` +另外 douyin 和 tiktok 算法都差不多,分析一份,改改就能适配另一个。 -## 进度 +仓库代码中 sm3 的算法有点问题,某些情况计算的不对,可以改用 digestpp。 -目前分析了 +## com.ss.android.ugc.aweme 23.2.0 -X-Ladon(生成) +当前分析的版本是 douyin_23.2.0_arm64 -X-Argus(已经完成还原protobuf, 生成还没写完, 有些没数据没看出意义, 加上有其它事就没弄了) +这是最后一个 4 神版本 `X-Ladon`, `X-Argus`, `X-Gorgon`, `X-Khronos` -X-Gorgon 还没有开始分析 +- [x] `X-Ladon`(生成) +- [x] `X-Argus`(生成与解包,包括 protobuf 中的加密字段,26.2 的 8 种算法) +- [x] `X-Gorgon` +- [x] `X-Khronos` -## 后续计划 +## com.ss.android.ugc.aweme 23.3.0 -以后有空再分析了,现在需要弄其它的事。 +从 douyin_23.3.0 开始变成 6 神了,新版本多了两个参数 `X-Helios`, `X-Medusa` -要是哪位大佬有剩下的能分享一下就更好了,手动狗头。 +- [ ] `X-Helios` +- [ ] `X-Medusa` diff --git a/argus.cpp b/argus.cpp index 1c29832..bf7732b 100644 --- a/argus.cpp +++ b/argus.cpp @@ -70,7 +70,13 @@ int decrypt_argus(const char *x_argus) { auto argus = base64_decode(std::string(x_argus)); uint16_t rand_right = *(uint16_t *)argus.data(); + // douyin auto sign_key = base64_decode(std::string("jr36OAbsxc7nlCPmAp7YJUC8Ihi7fq73HLaR96qKovU=")); + + // tiktok +// auto sign_key = base64_decode(std::string("wC8lD4bMTxmNVwY5jSkqi3QWmrphr/58ugLko7UZgWM=")); + + // unidbg // auto sign_key = base64_decode(std::string("rBrarpWnr5SlEUqzs6l92ABQqgo5MUxAUoyuyVJWwow=")); uint8_t aes_key[16] = {0}; uint8_t aes_iv[16] = {0};