JS解密入门——有道翻译

handsomeqin5年前技术657

JS解密入门——有道翻译

此篇文章省略了很多基础的,例如json格式数据的提取啊。试试手,练练感觉。似乎也没啥用。

一 了解加密与解密 :

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

  • 加密:数据加密的基本过程,将原为明文的文件或数据经过某种算法进行一次或多次处理。得到的结果常称之为密文的东东。

  • 解密:加密的逆过程,找到加密相同的方式,对其逆向处理,得到原本文件或数据的过程

常用的加密方式:

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

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

本节所涉及的方式:MD5

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

[更多相关详情请点击此处]( https://blog.csdn.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请求!!!

观察加密

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

分析加密:

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

搜索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加密的 密文

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

码!!!

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

拓展:

可以将此源码打包,并建立用户界面

其实这篇完全就是用来找感觉的,真正的JS难度系数成几何倍增长,所以...

加油吧,欧里给~

如有疑问,咋那么评论区间

转载请注明:静觅 » JS解密入门——有道翻译


相关文章

网页智能解析算法库

网页智能解析算法库

文章作者:「 夜幕团队 NightTeam 」 - 崔庆才本文首发于「 崔庆才|静觅 」微信公众号,如需转载请在微信端发消息告知。文中提取效果部分由于触发了 V2EX 的敏感词过滤...

解决小程序开发碰到的https问题

解决小程序开发碰到的https问题

小程序需要网站升级成https。五分钟决对搞不定,但可以试试最快速度多久搞定。首先,需要https证书,原来阿里云可以免费申请的,现在已经找不到了,腾讯云申请起来还是很方便,手动点赞腾讯。到腾讯云注册...

【强烈推荐】小学一年级奥数资料

这个奥数资料,是美爸亲自挑选,修改的高质量资料。特别适合一年级学有余力的小朋友,开发数学思维,增加学习兴趣,培养数学学霸。下载地址见下方:链接:https://pan.baidu.com/s/1WJe...

python flask实现网站微信登录

python flask实现网站微信登录

转载自:原文链接 https://www.cnblogs.com/cacique/p/4293348.html根据需求选择相应的登录方式微信现在提供两种登录接入方式移动应用微信登录网站应用微...

一招搞定js反混淆,混淆代码还原

首先,本地新建一个html网页然后,加入一个div再给div赋值如下代码:<!DOCTYPE html><html lang="en"><head&g...

Linux–CentOS定时运行Python脚本

执行所需Linux下安装crontab符合自己需求的python脚本由于自己和公司所使用的是云服务器,均已安装crontab,所以这里略过,有需要的小伙伴可以看看此篇文章操作步骤这里有两种方法进行定时...