写这篇文章之前,我记得我以前好像公布一次。百度翻译的接口把版本号修改可以得到老版本,而老版本是没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加密!的更多相关文章

  1. C#借助谷歌翻译实现翻译小工具(一)基本功能实现

    软件效果: 实现原理很简单,就是封装谷歌翻译网站:http://translate.google.cn/,一个WebBrowser"肢解"谷歌翻译网站的HtmlElement元素, ...

  2. 基于百度通用翻译API的一个翻译小工具

    前几天写了一个简单的翻译小工具,是基于有道翻译的,不过那个翻译接口有访问限制,超过一定次数后会提示访问过于频繁,偶然发现百度翻译API如果月翻译字符少于200万是不收取费用的,所以就注册了一个百度开发 ...

  3. 小工具:天气查询 Vs自定义设置 DevGridControl中GridView排序问题 小工具:火车票查询 小工具:邮件发送 小工具:截图&简单图像处理

    小工具:天气查询   开发一个天气查询的工具主要由两步构成,一是数据的获取,二是数据的展示.  一.数据获取 数据获取又可以分为使用其它公司提供的API和手动抓取其它网站数据. 1. 某公司提供的AP ...

  4. (win环境)使用Electron打造一个桌面应用翻译小工具

    初始化项目 npm init 修改package.json {"name": "trans","version": "1.0.0& ...

  5. Python爬虫教程-16-破解js加密实例(有道在线翻译)

    python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签 ...

  6. OpenCV与MFC实战之图像处理 样本采集小工具制作 c++MFC课程设计

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12111102.html 入门不久的人可以通过opencv实战来锻炼一下学习opencv的成果, ...

  7. 练习-99乘法表 token生成器 翻译小工具

    一.99乘法表 1.1 技术点 记住: for 循环的使用,以及for的嵌套使用 range()的使用,掌握sep为负数的使用的使用. print() 函数的使用,默认的结尾的换行符 替换 end= ...

  8. Python制作有道翻译小工具

    该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...

  9. python利用爬虫获取百度翻译,爱词霸翻译结果,制作翻译小工具

    先看效果展示(仅作学习使用,非商业) 效果图是采用的 爱词霸 翻译,百度翻译 也实现了,只不过被注释了. 学计算机很多时候碰到生词,每次打开手机/浏览器翻译总觉得很麻烦,就想着自己写一个软件,自己去实 ...

随机推荐

  1. 手写MQ框架(四)-使用netty改造梳理

    一.背景 书接上文手写MQ框架(三)-客户端实现,前面通过web的形式实现了mq的服务端和客户端,现在计划使用netty来改造一下.前段时间学习了一下netty的使用(https://www.w3cs ...

  2. 全程2分钟!教你如何免费下载Windows 10

    全程2分钟!教你如何免费下载Windows 10 2014-10-02 08:40:59  来源:pconline 原创  作者:唐山居人  责任编辑:caoweiye  (评论314条)   终于在 ...

  3. Java枚举类型enum使用详解

      java的Enum枚举类型终于在j2se1.5出现了.之前觉得它只不过是鸡肋而已,可有可无.毕竟这么多年来,没有它,大家不都过得很好吗?今日看<Thinking in Java>4th ...

  4. 题解 P3258 【[JLOI2014]松鼠的新家】

    树链剖分板子题 先说点别的 小熊维尼啊,嘿嘿嘿. 写题经历 悲惨命运:树剖调了2天,一直90分,死活不AC,调出了心病,快下课时改了一下数据范围,A了--.(刚开始数组开了800100,改120010 ...

  5. 十五 JSP开发模式&MVC设计模式

    JSP开发模式: JavaBean + JSP  : 缺点:页面代码过多,不利于维护,JSP页面代码变得臃肿 Servlet + JavaBean + JSP :MVC设计模式 M:model   模 ...

  6. arm linux 移植 python3.6

    背景: 人生苦短,我用Python. 说明: 编译Python的嵌入式版需要解释器解析setup.py从而编译Python的模块,因此需要先编译出host的解释器.(有点像Go语言) Python : ...

  7. BusyBox 添加 自定义命令\小程序 (applet)

    背景 在做嵌入式开的时候,busybox无疑是非常好用的命令集,所以很多时候都喜欢把busybox移植到我们的系统里面. 说明 添加一个很简单的命令--hello_busybox,输出"He ...

  8. vue使用videojs控制后台m3u8数据请求

    关于Video.js的使用方法就不再说了,有兴趣的请迁跃:https://videojs.com/ VideoJS中并没有stop之类控制后台数据请求的参数,只有暂停 video.pause()方法 ...

  9. Oracle错误览表

    Oracle 错误总结及问题解决 ORA     本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html  作者@承影剑 ORA-0 ...

  10. Redis Cluster 获取主从关系

    redis-cli -h 192.168.11.111 -p 6380 -c cluster slots | xargs  -n8 | awk '{print $3":"$4&qu ...