有道翻译js解密(1)

 

有道词典参数破解分析流程:

  第一步:我们在页面输入需要翻译的单词 好人。输出结果是  A good man。请求接口是 url= http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule

  输入参数如下图所示。

 

第二步骤:遇到加密的请求参数,一般是去js代码里面找这个接口。

 

 加密过程找sign,如下:

 

 此处解密可以使用js文件解密,也可以使用python脚本,我以python脚本解密为例

import time
import hashlib

r=""+str(int(time.time()*1000))
ts=str(int(time.time()*1000))
i=str(ts)+str(random.randint(1,10))
salt=i
e=input('请输入需要搜索内容')
def get_md5(v):
    md5=hashlib.md5()
    md5.update(v)
    sign=md5.hexdigest()
    return sign

def getSign():

    sign="fanyideskweb" + e + i + "@6f#X3=cCuncYssPsuRUE"
    sign=get_md5(sign.encode('utf8'))
    return sign

 

发起url请求验证数据

import requests

url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
headers={
    "Origin":"http://fanyi.youdao.com",
    "User-Agent":"ozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36",
    "Referer":"http://fanyi.youdao.com/",
    'Cookie': 'OUTFOX_SEARCH_USER_ID=442349910@10.169.0.84; OUTFOX_SEARCH_USER_ID_NCOO=1306989708.8420544; _ntes_nnid=13af67d0899a02566d87f39e4d78c252,1555463153846; DICT_UGC=be3af0da19b5c5e6aa4e17bd8d90b28a|; JSESSIONID=abc2B8Im3cGa_bJO-GdRw; ___rl__test__cookies=1558061350195'
}

data={
    "i":e,
    "from":"AUTO",
    "to":"AUTO",
    "smartresult":"dict",
    "client":"fanyideskweb",
    "salt":salt,
    "sign":getSign(),
    "ts":ts,
    "bv":"6dde0faab0f2bdfa21065a7e1c9dd8df",
    "doctype":"json",
    "version":"2.1",
    "keyfrom":"fanyi.web",
    "action":"FY_BY_REALTlME",
}

res=requests.post(url=url,headers=headers,data=data).json()
print(res)

 

 

 

解密成功哦,大家一起玩玩

 

推荐文章

posted @ 2019-05-17 10:59  柳帅  阅读(727)  评论(0编辑  收藏  举报
//替换成自己路径的js文件