有道js逆向(webpack,调用crypto库实现)【超级详细】

 

目录

一.逆向请求参数

全局搜索sign:

二.解密返回参数

1利用node.js 内置密码库crypto

2利用webpack工具半自动扣js


 

话不多说,直接干

接口:aHR0cHM6Ly9kaWN0LnlvdWRhby5jb20vd2VidHJhbnNsYXRl

一.逆向请求参数

484d1dd23c00438e8237f15fe5b3f73b.png

 f3b8449ce72e4c47be744dc8ee8ee57b.png

通过多次请求发现 只有sign和mysticTime(时间戳)是变化的,

sign有32位,估计是MD5加密,到底是不是,还得打断点调试一下。

请求加密参数sign:a13c54dae610f25771a9922819f840e8

全局搜索sign:

这个位置很明显打上断点,进去看看,很明显标准MD5加密

eff4a8dc47374c85bd2f060d8795f809.png

 加密参数如下:

`client=${l}&mysticTime=${e}&product=${d}&key=${t}`
'client=fanyideskweb&mysticTime=fsdsogkndfokasodnaso&product=webfanyi&key=1680856846833'

3707a89cf97e41329401a7d3b690d5b6.png

 

通过测试key是写死的fsdsogkndfokasodnaso

直接进行请求就可以了

import requests
import hashlib
import time
localtime = str(int(time.time() * 1000))
data = "client=fanyideskweb&mysticTime={}&product=webfanyi&key=fsdsogkndfokasodnaso".format(localtime)
sign = hashlib.md5(data.encode(encoding='utf-8')).hexdigest()#python中的MD5 加密
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
    "Referer": "https://fanyi.youdao.com/index.html"
}
cookies = {
    "OUTFOX_SEARCH_USER_ID": "[email protected]",
    "OUTFOX_SEARCH_USER_ID_NCOO": "86107500.53660281"
}
url = "https://dict.youdao.com/webtranslate"
word = input('请输入翻译内容:')
data = {
    "i": f"{word}",
    "from": "auto",
    "to": "",
    "dictResult": "true",
    "keyid": "webfanyi",
    "sign": sign,
    "client": "fanyideskweb",
    "product": "webfanyi",
    "appVersion": "1.0.0",
    "vendor": "web",
    "pointParam": "client,mysticTime,product",
    "mysticTime": localtime,
    "keyfrom": "fanyi.web"
}
response = requests.post(url=url, headers=headers, cookies=cookies, data=data).text
print(response)

 返回加密数据成功c4aaff6e6c9d477995c4eb68ee829657.png

 

 

二.解密返回参数

返回数据加密,可以通过hook找JSON.parse 这里有道给出了解密接口位置(有点猖狂了)

 hook脚本:

var my_parse = JSON.parse;
JSON.parse = function (params) {
     debugger
    console.log("json_parse params:",params);
    return my_pa
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值