抖音Xbogus算法简要分析,Python实现

这篇具有很好参考价值的文章主要介绍了抖音Xbogus算法简要分析,Python实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文仅记录我分析过程,仅供学习参考,如有涉及侵权联系本人删除

如果有任何问题,欢迎交流指导

很久没关注抖音了,不清楚算法什么时候进行了更新,快速过一遍。

一、准备工作

通过xhr断点定位到VMP代码

抖音生成xbogus,javascript,python,爬虫,安全

把这个js文件使用浏览器的替换功能进行替换,并使用v_jstoole的AST混淆解密中的 ”仅变量压缩“功能,转换下变量名,看上去美观一点

抖音生成xbogus,javascript,python,爬虫,安全

再把这个地方的代码手动修改下,方便断点。这里对w[0]进行额外判断,只有当需要加密的明文符合评论接口的时候才进行断点

抖音生成xbogus,javascript,python,爬虫,安全

考虑到还有其他地方存在apply调用,在这份js头部添加一段hook代码,hook Function.prototype.apply

// 保存原始的 Function.prototype.apply 方法
const originalApply = Function.prototype.apply;
​
// 修改 Function.prototype.apply 方法
Function.prototype.apply = function (thisArg, args) {
    // 调用原始的 apply 方法来执行函数
    const result = originalApply.call(this, thisArg, args);
​
    // 输出结果
    if (window.$_islog) {
        try {
            console.log("Function:", this, "\n 参数:", args, "\n结果:", JSON.stringify(result));
​
        } catch (e) {
            console.log("Function:", this, "\n 参数:", args, "\n结果:", result);
        }
    }
    // 返回结果
    return result;
};
​
log = console.log; ; ; ;

二、分析

拿到一分简略的日志后,保存至本地,先大概过一遍

抖音生成xbogus,javascript,python,爬虫,安全

跳过前面环境监测的日志,发现了类似md5的值

抖音生成xbogus,javascript,python,爬虫,安全

在js文件中搜下常见的一些特征值,比如0x674523011732584193

抖音生成xbogus,javascript,python,爬虫,安全

并且他还在_0xa653c7的原型下,在这里再加两个日志点,

抖音生成xbogus,javascript,python,爬虫,安全

再次拿到一份日志,可以看到这里对明文params进行了两次md5并转成16进制的数组

抖音生成xbogus,javascript,python,爬虫,安全

通过python验证,生成的数组一致

抖音生成xbogus,javascript,python,爬虫,安全

其中"d41d8cd98f00b204e9800998ecf8427e"是md5("")的结果,并且下文再次对该md5进行加密,此处只有当body不为空时才有数据,算法与上文params加密一致

抖音生成xbogus,javascript,python,爬虫,安全

再往下看,发现'\x00\x01\f'作为key,对ua进行了rc4加密

抖音生成xbogus,javascript,python,爬虫,安全

具体可以进到函数,问问GPT

抖音生成xbogus,javascript,python,爬虫,安全

随后用rc4加密后的值进行Base64,每三个字节输出四个字符

抖音生成xbogus,javascript,python,爬虫,安全

不确定的话,可以通过Base64运算完成之后的结果进行校验。并且下文对该结果再次进行了md5

抖音生成xbogus,javascript,python,爬虫,安全

在下文,取出了时间戳和canvas

抖音生成xbogus,javascript,python,爬虫,安全

经过一系列计算拿到长度19的数组,转为字符串,用 ÿ 当作key,进行rc4加密。这个长度19的数组,除了几个固定值之外,其他数字根据前文得到,具体规则可参考网上其他大佬发的文章,生成规则一直没变过,不在这展开。

随后,把固定值 \u0002 和 ÿ 添加到该字符串头部

抖音生成xbogus,javascript,python,爬虫,安全

最后,用了一个改了编码表的Base64进行加密,生成Xbogus

抖音生成xbogus,javascript,python,爬虫,安全

三、总结

1.对params两次md5,转16进制数组

2.对body两次md5,转16进制数组

3.对ua rc4加密后,在进行标准Base64,再进行md5,转16进制数组

4.生成19位数组(补充:这个数组包含时间戳和canvas信息),转字符

5.对第四步结果进行rc4

6.拼接字符

7.改Base64编码表,对第六步结果进行Base64

四、测试

http://39.107.101.62:8111/docs文章来源地址https://www.toymoban.com/news/detail-849239.html

到了这里,关于抖音Xbogus算法简要分析,Python实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于python的抖音短视频数据分析与可视化

    抖音是一个非常流行的短视频平台,每天都有大量的用户在抖音上分享和观看视频。为了更好地了解抖音用户的行为和兴趣,我们可以使用Python进行数据分析与可视化。 在本文中,我们将介绍如何使用Python进行抖音数据分析与可视化。首先,我们将使用Python获取抖音的数据,

    2024年04月17日
    浏览(49)
  • 【建模算法】层次分析法(Python实现)

    在很多情况下,我们对事物评价,应该要多维度评价。多维度评价之后我们要如何把它们合并成一个指标用于比较事物的好坏呢,这时候需要对各个指标赋权, 层次分析法就是用来赋权重的了。 这个方法主观性比较强,在数据集比较小,实在不好比较的时候可以用这个方法

    2024年01月22日
    浏览(44)
  • python pytorch 纯算法实现前馈神经网络训练(数据集随机生成)-续

    上一次的代码博主看了,有两个小问题其实,一个是,SGD优化的时候,那个梯度应该初始化为0,还一个是我并没有用到随机生成batch。 博主修改了代码,并且加入了accuracy图像绘制的代码。代码如下: 可一下跑出的结果: 可以看到这样看下来,效果就很不错了。

    2024年02月13日
    浏览(42)
  • python抓取抖音无水印视频和无水印图集下载(个人分析思路)

    注重版权,转载请注明原作者和原文链接 作者:向往同学 目录 最近无事练手的爬虫项目(老活新整),希望各位大佬给出意见,谢谢。 一、视频分析 二、图集分析 三、完整代码 四、总结         1、首先获取手机端的视频分享链接:7.99 y@t.RK 03/27 TlC:/  复制打开抖音,看

    2024年02月05日
    浏览(77)
  • 求无向图的最小生成树——Kruskal算法(超详细)【并查集,python实现】

    以如下无向图为例,求最小生成树及其权值。 补充知识点: 最小生成树(不官方的解释):包含所有节点,保持整个图连通,所有边权值之和最小。 1、补充在前 (1)图的存储 采用二维列表存储(点,点,边的权值) (2)顶点转换 为了便于计算,将字母A ~ G用数字0 ~ 6代

    2024年02月04日
    浏览(45)
  • Python毕业设计 抖音短视频数据分析与可视化 - python 大数据 可视化

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月02日
    浏览(47)
  • 【Python爬虫案例】抖音下载视频+X-Bogus参数JS逆向分析

    选择自己感兴趣的抖音博主,本次以“经典老歌【车载U盘】”为例 每次请求的页面会有很多接口,需要对接口进行筛选: 第一步筛选XHR筛选 第二步筛选URL中带有post 通过筛选play_add值找到视频的地址 通过对比两次请求发现只有X-Bogus数值会有变化,max_cursor是用翻页,后文再

    2024年03月15日
    浏览(124)
  • 抖音无需API开发连接Stable Diffusion,实现自动根据评论区的指令生成图像并返回

    抖音用户使用场景: 随着AI绘图的热度不断升高,许多抖音达人通过录制视频介绍不同的AI工具,包括产品背景、使用方法以及价格等,以吸引更多的用户。其中,Stable Diffusion这款产品受到了许多博主达人的青睐。在介绍这款产品后,他们通常会鼓励用户进行立即体验,因为

    2024年02月09日
    浏览(55)
  • 随机森林算法(Random Forest)原理分析及Python实现

    随机森林是bagging集成策略中最实用的算法之一。森林是分别建立了多个决策树,把它们放到一起就是森林,这些决策树都是为了解决同一任务建立的,最终的目标也都是一致的,最后将其结果来平均即可,如图所示。 从给定的训练数据集中学习出一个函数(模型参数),当

    2024年02月02日
    浏览(59)
  • 竞赛保研 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于生成对抗网络的照片上色动态算法设计与实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: http

    2024年01月17日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包