这种加密是用什么加密的?有解密途径吗?
发布网友
发布时间:2022-04-19 10:35
我来回答
共1个回答
热心网友
时间:2022-04-20 22:01
通常有以下三种加密:
1、%E5%8A%A0%E5%AF%86
2、%u52A0%u5BC6
3、以OlOlll开头,整篇看起来满是数字。
第一种是通过URI方法加密的,这样的加密代码前都会发现有这样一个单词:decodeURI或者decodeURIcomponent。
第二种是通过escape方法加密的,这样的加密代码前都有单词:unescape。
第三种是以ASCII码替代代码的方法加密的,加密代码的内部都有这个单词:eval。
下面我来解释一下为什么三种方法里面肯定含有上一段我所说的单词。
因为这些代码是被加密了的,而电脑在读取这些代码的时候它应该怎么做呢?是显示加密的代码呢,还是显示本来代码应该显示的效果?很显然加密者想让电脑显示的是效果。所以在加密的代码前后加入了 unescape('加密代码') ——[PS:这里以unescape举例,各个方法对应的单词上一段已经说了]。加入这个的涵义是叫电脑将加密的内容翻译出来,然后显示效果。
所以我们只要在 unescape('加密代码')前后加入为 document.write(unescape(加密代码))——[PS:第3种加密比较特殊,不是在eval前后加document.write(),而是直接将eval换成document.write]。这句的意思就是叫电脑(将“加密的内容翻译出来”的代码显示出来)。当然,脚本是不能直接运行显示的,所以我们要将其放到网页中才能显示。简单的来说就是用记事本写下:
<script>
document.write(unescape(加密代码));
</script>
然后保存为“文件名.htm”或“文件名.html”,再打开保存的这张网页,你看到的就是解密后的代码了。
不过有一点,这样解开密的代码因为浏览器无法读取换行符,所以你看到的解密代码是没有换行的。大家可以自己制作一个简单的解密页面,用记事本复制下面的代码
<form name="code_" method="post" target="_blank">
<textarea name="pp1" rows="10" cols="80"></textarea><br>
<INPUT TYPE="button" ONCLICK="pp2.innerText=escape(pp1.innerText)" VALUE="编码">
<INPUT TYPE="button" ONCLICK="pp2.innerText=unescape(pp1.innerText)" VALUE="解码"><br>
<textarea name="pp2" rows="10" cols="80"></textarea>
</form>
然后保存为“文件名.htm”或“文件名.html”,再打开这张网页就可以实现简单的加密和解密了。红色部分的字我不说你也该知道该怎么做相应的替换了吧?PS:不过第3种加密的方法不能用这个网页来解,第3种加密方法里面含有一个ASCII码的换算公式,我就不多说了,免得说不清楚又来问我了。对于这种加密,大家就按上面说的将eval替换成document.write来做好了。第3种的加密方法大家可以到下面的地址下载加密软件进行加密:
http://kimhyunjung.blogbus.com/logs/2006/01/1853118.html(请务必仔细看清楚软件说明)
PS:本文对其它所有针对javascript脚本代码的加密进行解密同样有效