tiktok x-tt-params

作品列表接口 /api/post/item_list/? 有一段 x-tt-params

观察后发现主要是由device_id、secUid、browser等信息组合成的字符串经过AES加密后生成。
在这里插入图片描述

调试可知 AES加密,128位,CBC,PKCS7。

在线测试

https://tool.lmeee.com/jiami/aes

在这里插入图片描述

本地模拟

var CryptoJS = require("crypto-js");
function aes(secUid){
        e = {
            "aid": "1988",
            "app_name": "tiktok_web",
            "channel": "tiktok_web",
            "device_platform": "web_pc",
            "device_id": "7202509366032811522",
            "region": "TW",
            "priority_region": "",
            "os": "windows",
            "referer": "",
            "root_referer": "undefined",
            "cookie_enabled": "true",
            "screen_width": "1920",
            "screen_height": "1080",
            "browser_language": "zh-CN",
            "browser_platform": "Win32",
            "browser_name": "Mozilla",
            "browser_version": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",
            "browser_online": "true",
            "verifyFp": "undefined",
            "app_language": "zh-Hans",
            "webcast_language": "zh-Hans",
            "tz_name": "Asia/Shanghai",
            "is_page_visible": "true",
            "focus_state": "true",
            "is_fullscreen": "false",
            "history_len": "3",
            "battery_info": "1",
            "from_page": "user",
            "secUid": secUid,
            "count": "30",
            "cursor": "",
            "language": "zh-Hans",
            "userId": "undefined",
            "is_encryption": "1"
        }
        const t = [];
        return Object.keys(e).forEach((i=>{
            const o = `${i}=${e[i]}`;
            t.push(o)
        }
        )),
        t.push("is_encryption=1"),
        ((e,t)=>{
            const i = ((e,t)=>{
                let i = e.toString();
                const o = i.length;
                return o < 16 ? i = new Array(16 - o + 1).join("0") + i : o > 16 && (i = i.slice(0, 16)),
                i
            }
            )("webapp1.0+20210628")
              , n = CryptoJS.enc.Utf8.parse(i);
            return CryptoJS.AES.encrypt(e, n, {
                iv: n,
                mode: CryptoJS.mode.CBC,
                padding: CryptoJS.pad.Pkcs7
            }).toString()
        }
        )(t.join("&"))
}

console.log(aes("MS4wLjABAAAA6aI0jkpA6X5yzejGmhzXFtd6vKbLKkJV1bQ4cATqZUmPGVenv3R0cJTsHdrI2NBG"))
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考古学家lx(李玺)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值