实战,百度翻译js破解

  1.  首先查看xhr的请求数据
    1. 找到真正的请求接口
    2. 查看请求参数

经过测试,sign和ts才是真正对访问数据产生严重限制的参数且不可获取。所以我们知道这两个参数一定是在某一个js单独生成的。

2. 通过API接口打断点

     a. 选择网址包含  v2transapi 的接口请求,并通过断点拦截

3. 执行页面请求,产生断点

     我们可以看到 调用堆栈 一栏中,给我们把所有请求调用所执行的方法,匿名方法以及异步调用时执行的方法都找出来了。

     当  执行到  s.send(t.hasContent && t.data || null) 时,按说应该就进入 访问   v2transapi 接口的时候了,让我们进入这个方法看看。

4. 通过 一步步 进入函数 我们终于在第N步时候 找到了一个 ajax 的执行逻辑

        在一个叫index.5af2d87e.js 的 352914行 停下后,我们发现,这里真的有一个ajax请求,并且url路径就是:

 url: "/v2transapi?........

这时候我们大概应该可以猜到,这行代码就是异步请求真实数据时的执行代码了!

那么data 数据就应该是    data: this.paramData     this.paramData 里携带的值了。

5. 查看参数   该参数确实是我们需要的。那么接下来就该找,看看到底是哪里创造了paramData,然后我们将创造paramData的代码方法获取应该就可以得到真正的参数了

6. 通过 搜索 paramData 我们发现了,这里是paramData赋值情况

我们给这里加入断点,查看一下这里的上下文

7. 找到真正赋值的代码块

 通过断点我们知道了t 方法是刚刚e.paramData 执行的方法

而它的上一步  匿名函数 则是当前 这里执行的方法

paramData 是 通过w赋值,而w值的产生----运气真好,就在上边。

我们看到了,sign 这个值 和 ts 这个值,分别是  b()函数  和 Date 产生的。

9. 进入b函数

我们传入我们查询的内容:战士

下边就是执行代码。也就是说,这个function可能就是真正产生我们想要的值的方法,那我们复制这个方法 在js里执行下看看。

10. 方法本地化运行

经过一些error 调试后,执行我们的方法

我们得到了这个值635110.873431

在看看接口里的值是多少

ok 解决了sign 和 ts的问题,后边就是写请求接口的事情了,就很简单了!!

注意:别太频繁请求,不要造成不好的影响。合理利用接口

本期暂时先到这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值