当前位置: 首页 > news >正文

tk点赞协议

X-Bogus

这个签名是老演员了,一开始就校验上了。该算法入参是:query, user_agent, body 区分GET/POST请求,如果在log里发现了'd41d8cd98f00b204e9800998ecf8427e' 这个就是空值的md5值,也就表示GET请求。首先分别进行算法签名2次得到字节数组,取其最后两位元素,后续持续拼接为一个21位的字节数组,最后魔改码表('Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=')生成。其中,参与运算的还有canvas值,时间戳,密钥数组,rc4流加密等。

X-Gnarly

长度:268/ 300/ 324(最新)增加数据列表长度,即可增加X_Gnarly长度 暂时都可以使用。

X_Gnarly MxESwhNLFU-YEm8UJQE9MFkqSv1tYBzQSumsUgvx2gkBDuyDoOtYgjfevQLRBYiqFDVA4JlRGUmgNb-taI6XlLBcPfok3XhdLeKr98A2N2gyRYbXaKtgZQ2QK4UHWPVnM312BChLi4o99N-aE5PEt4EIYVkiGCK2-GbOjzw0rWemJyuKFUev2e-hvqXXBp3jIzozFjMuiAkesNXWDB31mOPlIlcv1EsmT6qcZuvJVf/zKrdZXTbBddkZ3TxKhHs5JxwZrfIRjNdIKhy62e0Zom/UOrtMk-O4wfmgb-SS61-zj0e9pTwYeN7M4bXkNe1ECrA= '5.1.3', '2.0.0.447'

通过解密算法解出明文参数:

// 列表长度 15 [ 0, // 固定 65, // 变化 14, // 变化 "acb9ceabab0b8cfcf0f28be40ffeeae4", // query md5值 "d41d8cd98f00b204e9800998ecf8427e", // body md5值 GET默认body = '' "f18b5213b6de2490ec9be218b0f025b0", // user-agent md5值 1763107246, // 时间戳 动态因素 2363850128, // canvas值 1696407985, // 随机数 时间相关 测试发现 可以固定范围 "5.1.3", // 算法版本 最开始是5.0 "2.0.0.447", // webmssdk/2.0.0.447 js文件版本 1, // 固定 // 以下是新加的元素 没啥影响 2, // 变化 1, // 变化 4312084 // 变化 ]

可以看到其和X-Bogus,A-Bogus算法都没啥区别,相同的算法思路设计。

接着继续聊X-Gnarly算法,数组准备好了后会对整体数组进行xor计算,xor初始值默认值是0,后续根据数据类型进行不同处理。添加xor元素到数组里,接着对数组进行排序打乱,这里也有对应算法。最后根据不同的数据类型添加数组里不同元素的索引和值信息,多个分支不同处理流程。然后就是一个魔改的流加密算法了,需要清楚密钥是什么。该X-Gnarly对应的密钥如下,即可唯一确定目标参数。

[ "0.16676794365048409", "0.09791544009931386", "0.7086712564341724", "0.06493830471299589", "0.6804928914643824", "0.671537404647097", "0.3154390335548669", "0.796996020944789", "0.987317256629467", "0.5382072266656905", "0.21200472488999367", "0.0768559209536761" ]

最后这里的处理和日志上报参数strData相得益彰,最终魔改码表('u09tbS3UvgDEe6r-ZVMXzLpsAohTn7mdINQlW412GqBjfYiyk8JORCF5/xKHwacP=')。

http://www.cnnetsun.cn/news/53547.html

相关文章:

  • 新一代空间感知驱动的军工仓库与硐室透明化管控技术研究
  • Sketch MeaXure插件:设计师必备的智能标注工具
  • 强化学习Q-learning求最优策略
  • 你对电脑上的【Fn】熟悉多少
  • 计及N-k安全约束的含光热电站电力系统优化调度模型【IEEE14节点、118节点】附Matlab代码
  • 计及需求响应的粒子群算法求解风能、光伏、柴油机、储能容量优化配置附Matlab代码
  • conda使用详细指南
  • 豆包与DeepSeek底层大模型的深度解析:技术架构、设计理念与生态分野
  • Linux系统中的socket激活:先创建监听端口,后启动程序
  • 从零解决pyproject.toml构建失败的实战指南
  • Redis Lua脚本入门:从零写出你的第一个原子操作
  • 旧机转手不再慌!电子产品信息清除新国标落地,核心技术逻辑全解析
  • 安全体验馆好用供应商
  • 第二章——数据分析场景之Python数据可视化:用Matplotlib与Seaborn绘制洞察之图
  • 【Java毕设全套源码+文档】基于springboot的高校毕业生离校管理系统小程序设计与实现(丰富项目+远程调试+讲解+定制)
  • 如何用AI工具jstat优化Java应用性能分析
  • 【Java毕设全套源码+文档】基于springboot的高校毕业生信息管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • Day 38 GPU训练及类的call方法
  • 【Python实战】火爆全网的“隔空手势画板”是如何实现的?教你用OpenCV+MediaPipe复刻钢铁侠黑科技!
  • 【学习笔记】如果打造可复现、可评测、可迭代的AI技术体系
  • 【论文自动阅读】See Once, Then Act: Vision-Language-Action Model with Task Learning from One-Shot Video Demo
  • 利用齐次坐标系证明各种几何定理【射影几何】
  • 小程序基于springboot的乡镇普法知识科普宣传系统 律师预约系统设计与实现_qf4cwws6(java毕业设计项目源码)
  • 面向对象编程三大特性:封装、继承、多态的核心要义
  • leetcode 2147. 分隔长廊的方案数 困难
  • 学生党必备!这款桌面课表工具太省心了
  • 深度学习实验14代码
  • 优化及性能-–-behaviac
  • 练题100天——DAY26:汇总区间+丢失的数字+数组交集
  • 当AI芯片不再性感:博通的高增长,为何成了催命符?