今日头条 _signature 参数加密逻辑分析

仅供交流学习使用,请勿用于非法用途

最近看很多群里都在问这个_signature的事,得个空看了下和之前没啥变化,随便写写吧

主要搞三个参数as cp _signature
今日头条 _signature 参数加密逻辑分析_第1张图片
直接搜参数名就能找到生成位置,第一个红框里是生成as cp,第二个红框生成_signature,蓝色指明生成位置为 o,先看看第一个怎么生成的
今日头条 _signature 参数加密逻辑分析_第2张图片
可以看到as cpe生成,e指向一个a()函数,跟进去
今日头条 _signature 参数加密逻辑分析_第3张图片
没什么复杂的,直接扣下来,这个i由一个C(a, b, c)生成,跟进去看到一堆嵌套函数,函数全部给扣下来即可就行了,我这边是从1285行-1439行,接下来看_signature的逻辑
今日头条 _signature 参数加密逻辑分析_第4张图片
这里有两个参数,一个url,一个params,里面包括了上面生成的as cp
今日头条 _signature 参数加密逻辑分析_第5张图片
很清晰看到_signature是由 window.byted_acrawler.sign(a)生成的
今日头条 _signature 参数加密逻辑分析_第6张图片
跟进函数,里面是一个流控制,没有太需要注意的地方,全拿下来即可
今日头条 _signature 参数加密逻辑分析_第7张图片
这个时候如果你没进行其他补全直接运行的话,会出现几个错误,比如
在这里插入图片描述
在这里插入图片描述
做一个简单的环境补全就行了

var window = global;
window.location = {
    origin: "https://www.toutiao.com",
    protocol: "https:",
    host: "www.toutiao.com",
    hostname: "www.toutiao.com",
    port: "",
    pathname: "/",
    search: "",
    hash: "",
    href: "https://www.toutiao.com/",
}
window.navigator = {
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36",
}

用生成好的数值测试一下,发现能够成功获取数据,说明我们已经完成了
今日头条 _signature 参数加密逻辑分析_第8张图片
今日头条 _signature 参数加密逻辑分析_第9张图片

你可能感兴趣的:(js破解)