我爱it学习

 找回密码
 立即注册
搜索
查看: 38|回复: 0

[Python] 有道翻译逆向js py

[复制链接]

8

主题

2

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 前天 15:55 | 显示全部楼层 |阅读模式
const cryptoJs = require("crypto")
const u = "fanyideskweb"
    , d = "webfanyi"
    , m = "client,mysticTime,product"
    , p = "1.0.0"
    , A = "web"
    , g = "fanyi.web"
    , b = 1
    , h = 1
    , f = 1
    , v = "wifi"
    , O = 0;

function j(e) {
    return cryptoJs.createHash("md5").update(e.toString()).digest("hex")
}

function k(e, t) {
    return j(`client=${u}&mysticTime=${e}&product=${d}&key=${t}`)
}

function get_sign() {
    let e = (new Date).getTime();
    let t = 'fsdsogkndfokasodnaso'
    let sign = k(e, t)
    return [sign, e]
}

console.log(get_sign())


// 解密
function y(e) {
    return cryptoJs.createHash("md5").update(e).digest()
}

function jieMi(t) {
    let o = 'ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl'
    let n = 'ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4'
    if (!t)
        return null;
    const a = y(o)
        , c = y(n)
        , r = cryptoJs.createDecipheriv("aes-128-cbc", a, c);
    let s = r.update(t, "base64", "utf-8");
    return s += r.final("utf-8"),
        s
}

console.log(jieMi('Z21kD9ZK1ke6ugku2ccWu-MeDWh3z252xRTQv-wZ6jddVo3tJLe7gIXz4PyxGl73nSfLAADyElSjjvrYdCvEP4pfohVVEX1DxoI0yhm36ytQNvu-WLU94qULZQ72aml6JKK7ArS9fJXAcsG7ufBIE0gd6fbnhFcsGmdXspZe-8 whVFbRB_8Fc9JlMHh8DDXnskDhGfEscN_rfi-A-AHB3F9Vets82vIYpkGNaJOft_JA-m5cGEjo-UNRDDpkTz_NIAvo5PbATpkh7PSna2tHcE6Hou9GBtPLB67vjScwplB96-zqZKXJJEzU5HGF0oPDY_weAkXArzXyGLBPXFCnn_IWJDkGD4vqBQQAh2n52f48GD_cb-PSCT_8b-ESsKUI9NJa11XsdaUZxAc8TzrYnXwdcQbtl_kZGKhS6_rCtuNEBouA_lvM2CbS7TTtV2U4zVmJKpp-c6nt3yZePK3Av01GWn1pH_3sZbaPEx8DUjSbdp4i4iK-Mj4p2HPoph67DR7B9MFETYku_28SgP9xsKRRvFH4aHBHESWX4FDbwaU='))



import requests
import execjs
import time
from Crypto.Cipher import AES
import base64
from Crypto.Util.Padding import unpad

import hashlib

# 1)构建sign
t = str(int(time.time() * 1000))

with open("03 有道翻译.js") as f:
    js_code = f.read()

js_compile = execjs.compile(js_code)

print(js_compile)
sign = js_compile.call("get_sign", t)
print(sign)

cookies = {
    'OUTFOX_SEARCH_USER_ID_NCOO': '1837136861.99783',
    'OUTFOX_SEARCH_USER_ID': '[email protected]',
    'UM_distinctid': '18acc0c423c8a-067b7d9f92c33d-18525634-1d73c0-18acc0c423d1300',
    'P_INFO': '13121758648|1702993425|1|youdao_zhiyun2018|00&99|null&null&null#bej&null#10#0|&0||13121758648',
}

headers = {
    'Accept': 'application/json, text/plain, */*',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded',
    # 'Cookie': 'OUTFOX_SEARCH_USER_ID_NCOO=1837136861.99783; [email protected]; UM_distinctid=18acc0c423c8a-067b7d9f92c33d-18525634-1d73c0-18acc0c423d1300; P_INFO=13121758648|1702993425|1|youdao_zhiyun2018|00&99|null&null&null#bej&null#10#0|&0||13121758648',
    'Origin': 'https://fanyi.youdao.com',
    'Referer': 'https://fanyi.youdao.com/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
    'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"macOS"',
}

wd = "apple"

data = {
    'i': wd,
    'from': 'auto',
    'to': '',
    'domain': '0',
    'dictResult': 'true',
    'keyid': 'webfanyi',
    'sign': sign,
    'client': 'fanyideskweb',
    'product': 'webfanyi',
    'appVersion': '1.0.0',
    'vendor': 'web',
    'pointParam': 'client,mysticTime,product',
    'mysticTime': t,
    'keyfrom': 'fanyi.web',
    'mid': '1',
    'screen': '1',
    'model': '1',
    'network': 'wifi',
    'abtest': '0',
    'yduuid': 'abcdefg',
}

response = requests.post('https://dict.youdao.com/webtranslate', cookies=cookies, headers=headers, data=data)

# print(response.text)


# 解密
data = js_compile.call("decrypto_data","Z21kD9ZK1ke6ugku2ccWu-MeDWh3z252xRTQv-wZ6jd-f4VUaQOlThzHO02JcemZpYOzjRE7JK2Ol9PAth_lYO-ciiXQHRoDmiwMfUZ_6N8_yowUeIEJcbxPWJgY7dNYI4YyWpTc5DwB-Np7jdWB-O_x9nmNUoTP6Fyy1HVZWNTaxsHqw9N9NLEk3pek0iD_4LW7uWDilzVNEQ1jRbhDfcFCwPO40bM_pDjcYzkA4_AGiuoDWBMViRpVylnZ1cx3NXnZ6bJxX8wYgsKiDlfOj0ATQNdpDmuoo99ChkRcEgB8nhKHpxczVqfjl4L1ATBLIwgcllUGsTXtcIWwa24-AW81-c-C-iQ4rqNWYMo5J-AscCAl4JI_2OiAWdlfx5yFmRtLSepPBXGHa4-tww9pcM9rfE0vgz0Muf4SND5W_XNGv5NPKDiOf2prb-kQxX5pwE_DtuKVNhsws6acQC5NmGd3zm3njaj1ckG9egENVfzAYASvmQShnCLCkIyiFxAuK_n2AmgkMfYLuEcFgIsq-DNN4S0Z8NaKL3yqTTCmrNIrEImUqB4UfwgVm6CPa1Twt5LM6UjhgGUumThZswdKysm9sHoXLInlk5mICA1P8h2emAHO3VUxWS15U07mescRHF5e1gLoWnInX7QNROVBxslLHX6SCqKRUFEz3OA8OEmpIUwbmA6ej0E0vIlTEER5")
print(data)





免责声明:
1、论坛里的文章仅代表作者本人的观点,与本网站立场无关。出于遵守国家相关法规或促进论坛发展的前提,我们有权在不经作者准许的情况下删除其在【我爱it学习】所发表的文章。
2、论坛的所有文章、内容、信息、资料,都不保证其准确性、完整性、有效性、时效性。请依据情况自身做出判断。因阅读本站内容而被误导等其他因素所造成的损失责任自负。【我爱it学习】不承担任何责任。
3、坛友对自己的言论和行为负责,完全承担发表内容的责任,所持立场与【我爱it学习】论坛无关。论坛使用者因为任何行为而触犯中华人民共和国法律或相关法规的,一切后果自己负责,【我爱it学习】不承担任何责任。
4、坛友所发布的信息中涉及到具体的第三方个人(单位/公司)隐私、商业秘密等,侵犯其权益,对其构成不良影响的,由第三方向【我爱it学习】提交正式书面申请删除该信息后,【我爱it学习】有权将该信息予以直接删除处理。
5、如因系统维护或升级而需暂停服务时,将事先公告。若因线路及非本站点控制范围外的硬件故障或其它不可抗力而导致暂停服务,于暂停服务期间造成的一切不便与损失,【我爱it学习】不负任何责任。
6、凡以任何方式登陆本站或直接、间接使用【我爱it学习】论坛资料者,视为自愿接受【我爱it学习】论坛总规则的约束。本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。
7、【我爱it学习】所发布的一切文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理,Mail To: [email protected]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

侵权投诉|Archiver|小黑屋|我爱it学习

GMT+8, 2025-6-19 13:07

Powered by Discuz!

© 2001-2023 52itstudy.

快速回复 返回顶部 返回列表