js解密入门--有道翻译

本文介绍了如何解密有道翻译API的JS加密过程,从测试失败开始,通过分析请求的Header和Form Data,发现了关键参数如ts、salt、sign和bv的生成规则。通过对js代码的理解,将加密逻辑转换为Python代码,成功模拟请求获取翻译结果,总结了解密思路,强调了学习和正确使用的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


有道翻译网站 http://fanyi.youdao.com/

一、测试

首先拿到这个网站, 按照正常的流程, 带上请求的header和Form Data部分, 但是每次response都是errorcode50

二、分析

打开调试窗口

在左边翻译框输入一个测试字符串,接下来注意这个请求是由那个js发起的


发现这个js文件fanyi.min.js, 注意min.js这是一个压缩版js文件

右键这个js文件 - Reveal in Sources panel, 会自动跳到Source栏 如下图

点击箭头位置{}, 将js文件格式化显示出来,拿到源码

分析post的Form Data部分

每次在翻译框输入一个内容, XHR一栏里都会异步得到一个返回结果,查看这个请求的response里可以得到我们的翻译结果

找到这条请求的header部分,发现每次请求的Form Data的这几个参数都是变化的,js加密也往往是在这个地对传输的数据进行加密

  • salt
  • sign
  • ts
  • bv

尝试在刚才的fanyi.min.js文件中搜索这几个参数

define("newweb/common/service", ["./utils", "./md5", "./jquery-1.7"], function(e, t) {
   
   
    var n = e("./jquery-1.7");
    e("./utils");
    e("./md5");
    var r = function(e) {
   
   
        var t = n.md5(navigator.appVersion)
          , r = "" + (new Date).getTime()
          , i = r + parseInt(10 * Math.random(), 10
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值