使用alert()方法解密JS代码,简单实用
作者:admin 时间:2018-4-2 22:15:30 浏览:不少JS代码都是通过加密后再使用,以免被人轻易获得源代码。不过,那也只能对完全不懂JS的人有用,一般的加密代码是很容易就被解密的。本文介绍我常用到的一个方法。
例如下面这一段加密JS代码:
\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x27\x68\x74\x74\x70\x73\x3a\x2f\x2f\x69\x6e\x74\x2e\x64\x70\x6f\x6f\x6c\x2e\x73\x69\x6e\x61\x2e\x63\x6f\x6d\x2e\x63\x6e\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2e\x70\x68\x70\x3f\x66\x6f\x72\x6d\x61\x74\x3d\x6a\x73\x27\x20\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e
我们怎样对其进行解密呢?
使用alert()方法将其解密
最简单的方法就是使用alert()
方法直接将其解密,如上述代码,我们改为:
alert("\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x27\x68\x74\x74\x70\x73\x3a\x2f\x2f\x69\x6e\x74\x2e\x64\x70\x6f\x6f\x6c\x2e\x73\x69\x6e\x61\x2e\x63\x6f\x6d\x2e\x63\x6e\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2e\x70\x68\x70\x3f\x66\x6f\x72\x6d\x61\x74\x3d\x6a\x73\x27\x20\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e");
就看到如下对话框的信息:
使用alert()解密JS代码
这个就是解密后的JS代码了。
使用unescape()方法完善上述alert()代码
有时有的JS代码已被escape()
编码,所以在使用alert()
方法前先使用unescape()
方法进行反编码,则上述代码改为:
alert(unescape("\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x27\x68\x74\x74\x70\x73\x3a\x2f\x2f\x69\x6e\x74\x2e\x64\x70\x6f\x6f\x6c\x2e\x73\x69\x6e\x61\x2e\x63\x6f\x6d\x2e\x63\x6e\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2e\x70\x68\x70\x3f\x66\x6f\x72\x6d\x61\x74\x3d\x6a\x73\x27\x20\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e"));
这样解密后的JS代码就更完整了。
当然我们也可以先用alert()
获得解密后的代码,然后看到还有乱码(往往是中文),就用unescape()
方法反编码一下就可以了。
将解密后的js代码输出到textarea文本区
有时解密后的JS代码太多太长,那么alert()
看到的就不完整,且不能复制,那么我们可以将解密后的js代码输出到textarea
文本区。
例如上述代码可以改为:
<!DOCTYPE>
<html>
<head>
<script type="text/javascript">
var a = "\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x27\x68\x74\x74\x70\x73\x3a\x2f\x2f\x69\x6e\x74\x2e\x64\x70\x6f\x6f\x6c\x2e\x73\x69\x6e\x61\x2e\x63\x6f\x6d\x2e\x63\x6e\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2f\x69\x70\x6c\x6f\x6f\x6b\x75\x70\x2e\x70\x68\x70\x3f\x66\x6f\x72\x6d\x61\x74\x3d\x6a\x73\x27\x20\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e";
</script>
</head>
<body>
<textarea id="txt" cols=100 rows=30></textarea>
</body>
<script type="text/javascript">
document.getElementById("txt").value = unescape(a);
</script>
</html>
先将要解密的JS代码赋给变量a
,后面用unescape(a)
显示到文本区,得到解密后的信息,如图:
将解密后的js代码输出到textarea文本区