嘿 大漂亮大帅逼,老Amy又来了~大家好像对JS反爬都非常感兴趣,而这方面的资料也是少之又少,毕竟难度系数也是有的…emmm,所以今天再次来学习这顶好的JS反爬之有道翻译
需求
1.打开有道翻译 http://fanyi.youdao.com/
输入hello后抓包的请求为post,所以在发送请求时是有一系列的参数的。而这些参数我们需要知道哪些是变化的,哪些是不变的,所以多加载几个。观察如下:
- 输入hello的参数
i: hello
from: AUTO
to: AUTO
smartresult: dict
client: fanyideskweb
salt: 16044875956897
sign: f2e025a59410a41c04bec2f3194737be
lts: 1604487595689
bv: 4abf2733c66fbf953861095a23a839a8
doctype: json
version: 2.1
keyfrom: fanyi.web
action: FY_BY_CLICKBUTTION
- 输入china的参数
i: china
from: AUTO
to: AUTO
smartresult: dict
client: fanyideskweb
salt: 16044880196198
sign: 5a575b04ba07b4eae33de58448356d48
lts: 1604488019619
bv: 4abf2733c66fbf953861095a23a839a8
doctype: json
version: 2.1
keyfrom: fanyi.web
action: FY_BY_CLICKBUTTION
总结如下:
- 变动参数
- i
- salt
- sign
- lts
现在我们就着重来关注变动的参数。因为这些参数好像都是随机生成的,我们人为很难去揣测参数的生成,那应该就是代码控制生成的,揣测是JS加密出来的结果。
于是我们回到抓包处,看到Initiator,此处是该链接所涉及到的JS文件。
在此处Ctrl+F搜索sign
往下来走,看到些许关于ts,bv,salt,sign等,于是我们可以在此处来执行这些代码。
- 1.对需要执行的行进行点击打断点,变为蓝色的
- 2.点击翻译
- 3.执行往下走