翻译小工具制作,Python简单破解有道JS加密!
写这篇文章之前,我记得我以前好像公布一次。百度翻译的接口把版本号修改可以得到老版本,而老版本是没JS加密的,有道的呢也是一样的。
!
不过今天的教程不会这么low,咱们今天就老老实实把有道翻译的JS破解掉,毕竟有道的JS加密是罕见的简单。
先看效果:

请点击输入图片描述
开始教程:
第一步抓包:

请点击输入图片描述
直接就很容易的抓到了,哦 不对, 应该是比较有经验的人可以直接就抓到。
返回值内地tgt为我们所对应的翻译内容。
仔细分析这个包:

请点击输入图片描述
post请求,然后经过反复测试后发现,其中的salt,sign,ts是会发生变化的。
不难发现ts仅仅比salt少了一位,前面的都是一样的。而如果你有经验,看到ts就会知道这个是现行时间。
当然这个也只是猜测,不能当真。所以我们可以去寻找一下salt的来源,它到底是由什么方法生成的,然后我们用python代码去模拟。

请点击输入图片描述
随便一下就找到了,当然这个也是要经验的。我们可以看到的信息量很足。比如i = r +随机数,而r=ts,i=salt。不就验证了我们的猜想——不难发现ts仅仅比salt少了一位,前面的都是一样的。
而r = (new Date).getTime(),这不就是取现行时间吗?即使你不懂JS语法,你也能猜到吧?那么OK ,salt与ts我们都已经得到。
而sign的值我们如何得到呢?
就是个md5摘要,里面的只有两个变量,e、i,而i我们已经在前面得到了。那么如何得到e,甚至我们前面t = n.md5(navigator.appVersion),bv=t,很明显 即使bv也是加密的,只是我们的navigator.appVersion是一个定值。
那么怎么得到他们的值呢?debug即可!

请点击输入图片描述
OK,到此为止所有问题都已经解决,e为我们所查询的字符串,navigator.appVersion为我们的用户代理。(模拟请求时,记得添加请求报文。)
如果您觉得我的文章对您有所帮助,那么可以关注我,更加方便的给您推送最新技术。
翻译小工具制作,Python简单破解有道JS加密!的更多相关文章
- C#借助谷歌翻译实现翻译小工具(一)基本功能实现
软件效果: 实现原理很简单,就是封装谷歌翻译网站:http://translate.google.cn/,一个WebBrowser"肢解"谷歌翻译网站的HtmlElement元素, ...
- 基于百度通用翻译API的一个翻译小工具
前几天写了一个简单的翻译小工具,是基于有道翻译的,不过那个翻译接口有访问限制,超过一定次数后会提示访问过于频繁,偶然发现百度翻译API如果月翻译字符少于200万是不收取费用的,所以就注册了一个百度开发 ...
- 小工具:天气查询 Vs自定义设置 DevGridControl中GridView排序问题 小工具:火车票查询 小工具:邮件发送 小工具:截图&简单图像处理
小工具:天气查询 开发一个天气查询的工具主要由两步构成,一是数据的获取,二是数据的展示. 一.数据获取 数据获取又可以分为使用其它公司提供的API和手动抓取其它网站数据. 1. 某公司提供的AP ...
- (win环境)使用Electron打造一个桌面应用翻译小工具
初始化项目 npm init 修改package.json {"name": "trans","version": "1.0.0& ...
- Python爬虫教程-16-破解js加密实例(有道在线翻译)
python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签 ...
- OpenCV与MFC实战之图像处理 样本采集小工具制作 c++MFC课程设计
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12111102.html 入门不久的人可以通过opencv实战来锻炼一下学习opencv的成果, ...
- 练习-99乘法表 token生成器 翻译小工具
一.99乘法表 1.1 技术点 记住: for 循环的使用,以及for的嵌套使用 range()的使用,掌握sep为负数的使用的使用. print() 函数的使用,默认的结尾的换行符 替换 end= ...
- Python制作有道翻译小工具
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...
- python利用爬虫获取百度翻译,爱词霸翻译结果,制作翻译小工具
先看效果展示(仅作学习使用,非商业) 效果图是采用的 爱词霸 翻译,百度翻译 也实现了,只不过被注释了. 学计算机很多时候碰到生词,每次打开手机/浏览器翻译总觉得很麻烦,就想着自己写一个软件,自己去实 ...
随机推荐
- Redis集合类型
集合是元素无序且唯一的列表 命令 增加元素 SADD key member [member ...] > SADD letters a (integer) 1 > SADD letters ...
- Android程序的入口点是什么,不是Main()吗
很多初入Android开发的网页可能不知道Android程序的入口点是什么,不是main()吗,当然我相信回复onCreate的在字面上不算错,但是你们想的是Activity中的onCreate 方法 ...
- sklearn中实现多分类任务(OVR和OVO)
sklearn中实现多分类任务(OVR和OVO) 1.OVR和OVO是针对一些二分类算法(比如典型的逻辑回归算法)来实现多分类任务的两种最为常用的方式,sklearn中专门有其调用的函数,其调用过程如 ...
- arm linux 移植 gdb/gdbserver
背景 调试工具gdb的使用对于嵌入式Linux开发人员来说是一项不可少的技能. 目前,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机 ...
- 定时执行 Job【转】
Linux 中有 cron 程序定时执行任务,Kubernetes 的 CronJob 提供了类似的功能,可以定时执行 Job.CronJob 配置文件示例如下: ① batch/v2alpha1 是 ...
- 51nod 1391:01串
1391 01串 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给定一个01串S,求出它的一个尽可能长的子串S[i. ...
- 针对phpstudy默认设置的利用
在phpstudy下载下来以后路径,设置没有修改的情况下可以使用此方法 url:http://ip/phpmyadmin用户名:root 密码:root登入管理界面变量-->general lo ...
- HashMap之Hash碰撞源码解析
转自:https://blog.csdn.net/luo_da/article/details/77507315 https://www.cnblogs.com/tongxuping/p/827619 ...
- Tcp 3次握手 4次挥手
Tcp 3次握手 4次挥手 标签(空格分隔): Java基础 报文介绍: SYN(synchronous建立联机) ACK(acknowledgement 确认) FIN(finish结束) PSH( ...
- URL短网址系统的算法设计及实践
在通常情况下,URL是由系统生成的,通常包括URI路径,多个查询参数,可以对参数进行加密和解密.当人们要分享某个URL,比如短信,邮件,社交媒体,这就需要短URL. 而短网址,顾名思义就是在长度上比较 ...