JS解密入门——有道翻译
JS解密入门——有道翻译
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取****,电子书籍,以及课程的源代码!
QQ群:1097524789
此篇文章省略了很多基础的,例如json格式数据的提取啊。试试手,练练感觉。似乎也没啥用。
一 了解加密与解密 :
什么是加密,什么是解密?
- 加密:数据加密的基本过程,将原为明文的文件或数据经过某种算法进行一次或多次处理。得到的结果常称之为密文的东东。
- 解密:加密的逆过程,找到加密相同的方式,对其逆向处理,得到原本文件或数据的过程
常用的加密方式:
加密算法分 对称加密 和 非对称加密
其中对称加密算法的加密与解密 **相同,非对称加密算法的加***与解密 **不同,此外,还有一类 不需要**的 散列算法。
本节所涉及的方式:MD5
MD5
用的是 哈希函数,它的典型应用是对一段信息产生 信息摘要,以 防止被篡改。严格来说,MD5
不是一种 加密算法 而是 摘要算法。无论是多长的输入,MD5
都会输出长度为 128bits
的一个串 (通常用 16
进制 表示为 32
个字符)。
[更多相关详情请点击此处]( https://blog.****.net/baidu_22254181/article/details/82594072 )
二 造!点击进入本节源码
这段内容图会比较多,文字叙述会比较少.
确定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加密的 密文
到这里就基本完成了,那接下来就开始码码吧.
码!!!
看到这里,转而看一下源码。对着上面的注释,仔细看看,相信你一定会有所收获的。