今日tt的signature,环境

前言:遇到有人问头条的sign 今天简单看了下

一:接口参数
在这里插入图片描述

可以看到有个_signature 上面那个time就是时间戳了 offset都懂的 控制翻页

通过搜索大法找到_signature位置
在这里插入图片描述
这里var n = u(p.getUri(e), e); 可以发现是这个u函数生成的 跟进去看看

在这里插入图片描述
到这之后可以发现 里面用到了window.byted_acrawler 看看这个东西是什么

在这里插入图片描述
它是一个对象 里面有一些函数 最引人注目的不过就是这个sign

先分析分析上段js代码的逻辑

它把window.byted_acrawler.sign 这个函数赋值给了a, 然后通过call函数调用了a

看看这个参数o

在这里插入图片描述

o是一个对象 {url: xxx} xxx就是url

在这里插入图片描述
可以发现就是这个_signature 里面应该加入了时间戳 所以不同时间加密出来结果会不一样

跟进这个a函数里面看看 也就是这个 window.byted_acrawler.sign 里面

在这里插入图片描述
会发现跳到了 acrawler.js 这个js文件里面 同时也能看出是jsvmp的代码

遇到这种 补环境把 最简单

二:环境

扣下代码到本地

window.Object = Object;
window.RegExp = RegExp;

类似于document navigator location 等等这些就不用多说了 补上

说实话 它检测的也不多

location 检测了 protocolhref
navigator 检测了 ua
document 检测了 cookie referrer createElement createEvent

在这里插入图片描述
还有一些 sessionStorage localStorage

里面还有个window下面的toStringTag 这个也补上

在这里插入图片描述
剩余的就是一些canvas 2d函数 以及经典toDataURL

在这里插入图片描述
照着它的流程对这浏览器来一遍就行了

还有个关键点就是document.cookie 在代码运行过程中会给cookie赋值为__ac_referer=; expires=Mon, 20 Sep 2010 00:00:00 UTC; path=/;

这样就会导致 我们加密出来的值很短 比如这样_02B4Z6wo00f01-OC23QAAIDC7jOUixhjjQvjoN.AAJzfe5

我们可以补完环境之后直接冻结document对象Object.freeze(document)

或者你也可以 在调用加密函数之前给document.cookie重新赋值也是可以的

这些处理完之后 就差不多了

在这里插入图片描述

用py试试

在这里插入图片描述
完事!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值