吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1954|回复: 8
收起左侧

[Python 原创] 新手写的一个python脚本,有道翻译,一丢丢js逆向加解密

[复制链接]
fatlong 发表于 2024-1-17 11:43
[JavaScript] 纯文本查看 复制代码
import base64
import json
import time
import hashlib
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import requests


o = str(int(time.time()*1000))
def sign():
    # e = 'asdjnjfenknafdfsdfsd'
    # u = 'fanyideskweb'
    # d = 'webfanyi'
    q = 'client=fanyideskweb&mysticTime='+str(o)+'&product=webfanyi&key=fsdsogkndfokasodnaso'
    a = hashlib.md5(q.encode()).hexdigest()
    return a


def decrypt( decrypt_str,iv,key):
    key_md5 = hashlib.md5((key).encode('utf-8')).digest()
    iv_md5 = hashlib.md5((iv).encode('utf-8')).digest()
    aes = AES.new(key=key_md5, mode=AES.MODE_CBC, iv=iv_md5)
    code = aes.decrypt(base64.urlsafe_b64decode(decrypt_str))
    return unpad(code, AES.block_size).decode('utf8')


def get_data(q):
    headers = {
        'Host':'dict.youdao.com',
        'Origin':'https://fanyi.youdao.com',
        'Referer':'https://fanyi.youdao.com/',
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.61",
        'Cookie':'OUTFOX_SEARCH_USER_ID_NCOO=1918452785.9332309; OUTFOX_SEARCH_USER_ID=714488211@171.221.146.167;'
    }
    url = 'https://dict.youdao.com/webtranslate'
    data = {
        'i': q,
        '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': str(o),
        'keyfrom': 'fanyi.web',
        'mid': 1,
        'screen': 1,
        'model': 1,
        'network': 'wifi',
        'abtest': 0,
        'yduuid': 'abcdefg'
    }
    res = requests.post(url,data=data,headers=headers)
    return res.text


def judge_language(text):
    for char in text:
        # 判断字符的 Unicode 范围
        if '\u4e00' <= char <= '\u9fff':
            return '中文'
        elif '\u0041' <= char <= '\u005a' or '\u0061' <= char <= '\u007a':
            return '英文'
    return '未知'

if __name__ == '__main__':
    print('请输入你需要翻译的字词:')
    q = input('')
    aesIv = "ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4"
    aesKey = "ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl"
    result = decrypt(get_data(q),aesIv,aesKey)
    # dictResult = result['dictResult']
    languge = judge_language(q)
    result = json.loads(result)
    print('翻译后的值为:')
    if languge == '中文':
        tran_value = result['dictResult']['ce']['word']['trs'][0]['#tran']
        print(tran_value)
    else:
        tran_value = result['dictResult']['ec']['word']['trs'][0]['tran']
        print(tran_value)

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
junjia215 + 1 + 1 谢谢@Thanks!
yanjia5286 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhurui 发表于 2024-1-17 13:35
本帖最后由 zhurui 于 2024-1-17 13:37 编辑

建议来用我的接口
谷歌翻译接口API,中英互翻,自动识别多国语言,无请求限制
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1863856&page=1#pid48777636

三滑稽甲苯 发表于 2024-1-17 12:53
 楼主| fatlong 发表于 2024-1-17 14:15
zhurui 发表于 2024-1-17 13:35
建议来用我的接口
谷歌翻译接口API,中英互翻,自动识别多国语言,无请求限制
https://www.52pojie.cn/f ...

突然感觉,我更菜了
 楼主| fatlong 发表于 2024-1-17 14:16
三滑稽甲苯 发表于 2024-1-17 12:53
用这个接口会不会简单一点 https://www.52pojie.cn/forum.php?mod=viewthread&tid=1869496&page=1#pid48929 ...

{:1_937:
liyitong 发表于 2024-1-17 14:38
fatlong 发表于 2024-1-17 14:15
突然感觉,我更菜了

手机端不加密,真有意思——
SHUKANGLE 发表于 2024-1-17 15:55
可以用while Ture 进行循环翻译,然后用try对不能翻译的进行报错拦截
fire9 发表于 2024-3-23 01:47
不错                            ,
金丝大环猪 发表于 2024-4-23 21:54
不错,不错,赞一个
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 16:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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