JS解密入门——有道翻译

JS解密入门——有道翻译

不少人学习python,不知道从何学起。
不少人学习python,掌握了基本语法事后,不知道在哪里寻找案例上手。
不少已经作案例的人,殊不知道如何去学习更加高深的知识。
那么针对这三类人,我给你们提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
java

此篇文章省略了不少基础的,例如json格式数据的提取啊。试试手,练练感受。彷佛也没啥用。python

一 了解加密与解密 :

什么是加密,什么是解密?git

  • 加密:数据加密的基本过程,将原为明文的文件或数据通过某种算法进行一次或屡次处理。获得的结果常称之为密文的东东。
  • 解密:加密的逆过程,找到加密相同的方式,对其逆向处理,获得本来文件或数据的过程

经常使用的加密方式:github

加密算法分 对称加密 和 非对称加密web

其中对称加密算法的加密与解密 密钥相同,非对称加密算法的加密密钥与解密 密钥不一样,此外,还有一类 不须要密钥的 散列算法算法

本节所涉及的方式:MD5json

MD5 用的是 哈希函数,它的典型应用是对一段信息产生 信息摘要,以 防止被篡改。严格来讲,MD5 不是一种 加密算法 而是 摘要算法。不管是多长的输入,MD5 都会输出长度为 128bits 的一个串 (一般用 16 进制 表示为 32 个字符)。ide

[更多相关详情请点击此处]( http://www.noobyard.com/article/p-frziwuqi-p.html )函数

二 造!点击进入本节源码

这段内容图会比较多,文字叙述会比较少.

肯定URL:工具

Basic URL : http://fanyi.youdao.com/

结论原因,在不刷新全局页面的状况下,在输入框中输入,翻译动态刷新.可知此连接为Ajax.

通过一系列测试发现,其实际需操做的URL为 http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule

在开发者工具中具体观察如下.

 

基本网站的分析就分析完毕了

注意此处为POST请求!!!

观察加密

仔细观察红色方框中,重点观察随着时间改变而改变的参数(图中红色箭头所指之处)

分析加密:

仔细通过上述步骤便可进入本次加密的源码详情页

搜索sign参数,得知本页面有15个sign,筛选排查事后可得知如下位置为sign等参数,赋值加密过程

为何会大概肯定是此处呢?

理由一:var 声明赋值

理由二:md5()

为何深信此处呢?

断点一打,debug一下,啥都出来了.

 

根据其语法可知,java知识

  • e 为输入所翻译的内容
  • ts 为七位整数的时间戳
  • salt 为时间戳后加上一位,大于0小于9的数字
  • bv 为User-Agent的值通过md5加密的 密文
  • sign 为(“fanyideskweb” + e + salt + “Nw(nmmbP%A-r6U3EUn]Aj”)通过md5加密的 密文

到这里就基本完成了,那接下来就开始码码吧.

码!!!

看到这里,转而看一下源码。对着上面的注释,仔细看看,相信你必定会有所收获的。