首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

JS逆向初探之有道翻译

有道翻译在咱们的日常学习工作中也是经常被用到,有道翻译提供即时免费的中文、英语、日语、韩语等多种语言的翻译,今天我们就来研究一下有道翻译的网页版,是否能通过对网页的爬取做一个简易的翻译小工具呢,一起来看看吧...用Chrome浏览器打开有道的在线翻译,按下F12并在框中输入任意中文来观察其网页变化。 该页面被我们轻松找到,可以看到tgt对应的内容就是我们的爬取目标。...打开其js代码,观察其代码是如何来得到这些变量的。在搜索框内输入salt。...data构造的字典,我们需要的参数尽数都在其中,继续查看js代码,想要找到其加密的函数,想知道其如何生成的,就需要用到JS调试了。...输入中英文都能够互相转换,其他语种也支持翻译查询喔! 全部代码后台回复“有道”,即刻送达喔~

1.1K10

爬虫入门经典(二十) | 破解JS加密之有道翻译

之前博主做了通过百度翻译的接口制作一个简易的翻译软件。当时由于没有想太多,只是对其汉译英与英译汉进行了简单的测试就发了出来。后来经过粉丝的测试,告知了我此程序在翻译句子的时候会报错。如下图: ?...博主在破解了有道翻译之后,再次测试,发现翻译句子可以完美运行,如下图: ? 嗯!这也算是间接的增加了翻译的功能了哈哈! 二、加密与解密 我们在爬取数据时,有的数据是通过加密解密得到的。...本次选用的案例为有道翻译:http://fanyi.youdao.com/ ? 下面咱们要做的就是模拟有道翻译进行单词的翻译。 三、分析 ?...我们这时发现,当修改翻译内容的时候,得不到想要的结果。其实做为一个合格的爬虫开发者,应该有敏感性。 二、JS破解 ? 我们此时可以重新看一下所获取的参数: ?...2.2 JS的破解方式 1. 普通JS的破解方式 ? 这种方法不经常使用, 因为一旦出现多个相同的JS就很麻烦, 2. 通用JS破解方式 1.

93910

JS 逆向百例」cnki 学术翻译 AES 加密分析

[01.png] 来到翻译首页,抓包定位到翻译接口,可以看到 Request Payload 里,待翻译文本会被加密处理,如下图所示: [02.png] 这里如果直接搜索关键字 words,会发现结果非常多...translateType,那么就可以直接搜索 translateType,因为这两个参数一般都是挨着的,当然也可以使用 XHR 断点的方式来找,只不过麻烦一些,搜索结果都在 app.9fb42bb0.js...模块来实现就 OK 了,JavaScript 代码如下: // 引用 crypto-js 加密模块 var CryptoJS = require('crypto-js') function s(t)...', 'r', encoding='utf-8') as f: cnki_js = f.read() encrypted_word = execjs.compile(cnki_js...Test 2,所以想要翻译很多字符串,只能将其分割成几份来处理了。

1.7K30

JS逆向百例】金山词霸翻译逆向分析

,sign、content 参数逆向分析网址:aHR0cHM6Ly93d3cuaWNpYmEuY29tL3RyYW5zbGF0ZQ==抓包分析进入翻译页,左边输入查询单词,右边即会翻译出中文释义,很显然通过接口传输的数据...那么,响应返回的自然就是翻译后的中文释义,点到 Preview 响应预览中查看一下,发现并没有出现想象中的蜜罐两字,显然 content 就是翻译结果,只不过被加密处理了:接下来,我们分别对 sign...直接引库复现即可:// 引用 crypto-js 加密模块const CryptoJS = require('crypto-js')​function aesEncrypt(aesKey, text)...MD5 摘要算法源码中的一些特征,1732584193、4023233417 之类的,大多数都是标准的算法,MD5 算法的源码可于公众号回复关键词 MD5 获取:完整算法:// 引用 crypto-js...加密模块const CryptoJS = require('crypto-js')​function aesEncrypt(aesKey, text) { let key = CryptoJS.enc.Utf8

13810
领券