Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 15 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -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`
6 changes: 6 additions & 0 deletions argus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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};
Expand Down