本文仅供学习交流使用,请勿用于商业用途或不正当行为
如果你实在要这样干,别TM找我背锅
另外,如果不小心侵犯到贵公司的隐私和权益
能不能不要抓我,我非常愿意被招安
上篇 js逆向:【硬干货】手把手实战某条_signature参数破解(上)对某条的加密js分析,定位出了as、cp和_signature参数的代码,这篇我们来看看如何利用这些js代码生成我们需要的加密参数值。
一般我们定位出了js下一步就是剥离出相关代码进行利用,主流的利用方式大概有这几种:
-
依照相关的js加密逻辑,使用自己熟悉的语言(python)“翻译”成python代码。这种缺点也非常明显,我们需要读懂全部加密逻辑的细节,而且如果目标js代码量非常庞大或者逻辑非常复杂的时候,你懂的。。。
-
使用execjs等库执行剥离出的js代码。
-
聪明的你一定马上会想到使用selenium这类自动化工具驱动浏览器来执行js,但现在针对无头浏览器的检测已经非常成熟其隐蔽,比如某条,你会发现无头浏览器也获取不到关键数据了。
-
使用Node.js,由于Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,在这个环境下执行js,可以绕过浏览器检测。
所以,今天我们介绍如何使用node.js执行js代码获取加密值。
上一篇中我们已经知道as、cp参数是e对象下面的as和cp属性
而e对象其实是a函数
a函数就是as、cp参数的生成逻辑