百度指数解密简单分析
1.关键词搜索接口分析:
发送get请求包携带查询参数,服务器返回uniqid(相当于秘钥id),data是待解密的密文值
2.寻找解密位置:
由于返回内容为密文,直接搜索decrypt(),寻找解密位置,打上断点刷新页面
3.网页断住后单步进去,研究一下解密函数:
发现t.all.data就是网页返回给我们的密文内容,e.data是解密用到的秘钥字符串
4.秘钥寻找
根据第一步的uniqid,在路由包中带uniquid的路径文件,开面的data正是我们解密所需要的data
5.本地调用
6.数据核对
这边打印的值,分别对应PC+移动、PC、移动端百度指数的对应值
7.js解密函数
function decrypt (t, e) {
if (!t)
return "";
for (var a = t.split(""), n = e.split(""), i = {}, r = [], o = 0; o < a.length / 2; o++)
i[a[o]] = a[a.length / 2 + o];
for (var s = 0; s < e.length; s++)
r.push(i[n[s]]);
return r.join("")
}
resp = decrypt("kfzZj-LAVsOXaW64,9368.05-2+1%7","aAaafzV-zfkVOjfO-kAfZAzZfkaVzfOkj6fa6z6faVk-faOAVfaA--faaOafaZj6fO-Z-fOkz6faV-Vfa6AzfaZ-Ofaz6VfaAZVVfOOAZAfZ6ZkfO-a6fOk-OfkkjzfVZOZ6fkj6AOfVZj-zfkajj6fZAaaa")
console.log(resp)