js代码解密代码是什么,js代码解密代码怎么用,js代码解密代码
在做网页的时候(其实就是网页木马),最讨厌的就是我辛辛苦苦写的JAVASCRIPT代码,被客户端IE运行的时候,往往很容易被别人复制,真的让我有点难受。自己写点东西也挺累的。
我们也应该清楚地认识到,由于JAVASCRIPT代码是在IE中解释和执行的,所以不可能做到绝对保密。我们要做的就是让文案尽量难抄,让他知难而退(希望~!~),现在我就结合自己这几年的实践和个人的研究经验,和大家探讨一下网页中JAVASCRIPT代码的加密和解密技术。
以下面的JAVASCRIPT代码为例:脚本语言=' JAVASCRIPT ' alert(' 《黑客防线》 ');/脚本
一:最简单的加密和解密
您必须熟悉JAVASCRIPT函数escape()和unescape()(它们在许多网页加密中使用)。它们分别编码和解码字符串。例如,示例代码用escape()函数加密,变成如下格式:alert(" % u9ed 1% u5ba 2% u 9632% u 7 ebf ");
怎么样?还看得懂吗?当然,ASCII字符“alert”没有加密。如果你愿意,我们可以写一些JAVASCRIPT代码重新加密如下:alert(" % u9ed 1% u5ba 2% u 9632% u 7 ebf ");
哈哈!怎么样?这次完全加密了!
当然,这个加密代码是不能直接运行的。好在有eval(codeString)可用。这个函数的作用是检查JavaScript代码并执行。所需的codeString参数是一个包含有效JavaScript代码的字符串值,加上上面的解码unescape(),加密后的结果如下:script language=' JavaScript ' varcode=unescape(' alert(" % u9ed 1% u5ba 2% u 9632% u 7 ebf ");');eval(代码)/脚本
这不是很简单吗?不要不开心。解密也一样简单。解密代码给别人(unescape())!嗯。多有趣啊
第二:转义符''的巧妙使用
您可能不熟悉转义符“”,但您应该知道JavaScript提供了一些特殊字符,如:\n(换行符)、\r(回车符)、\ '(单引号)等。实际上,''后面可以跟八进制或十六进制数字,比如字符' a ',可以表示为' 1 '或' \x61 '(注意小写字符' x '),而双字节字符' black '只能表示为十六进制的' \u9ED1 '(注意小写字符' u '),其中字符
八进制转义字符串如下:script language=' JavaScript ' eval(' 14524 \ u9ed 1 \ u5ba 2 \ u 9632 \ u7 ebf ')/script
十六进制转义字符串如下:script language=' JavaScript ' eval(' \ x61 \ x6c \ x65 \ x72 \ x74 \ x28 \ x22 \ u9ed 1 \ u5ba 2 \ u 9632 \ u7 ebf \ x22 \ x29 \ x3b ')/
这次没有解码函数,因为JavaScript在执行的时候会自己转换,同样的解码非常简单如下:script language=' JavaScript ' alert(' \ x61 \ X6c \ X65 \ X72 \ X74 \ x28 \ x22 \ u9ed 1 \ u5ba 2 \ u 9632 \ u 7 ebf \ x22。
会弹出一个对话框告诉你解密的结果!
第三,使用微软出品的ScriptEncoder进行编码。
工具的使用就不多介绍了!我直接用JavaScript调用控件脚本。编码器来完成编码!代码如下:脚本语言=' JavaScript ' var senc=new ActiveX object(' scripting . encoder ');var code=' script language=' JavaScript ' \ r \ n alert(' 《黑客防线》 ');\ r \ n \/SCRIPT ';varEncode=Senc。EncodeScriptFile('。htm ',代码,0,' ');alert(编码);/脚本
编码结果如下:script language=' jscript . encode ' # @ ~ fgaaaa==@ # @ lsdd ` j黑客防线r # p @ # @ fgmaaa==# ~ @/script
够丑吧?但是相应的解密工具早就出来了,连解密的网页都有了!因为解密网页的代码太多,我就不多说了!给大家介绍一下我的原解密代码,如下:script language=' jscript . encode ' function decode(){ # @ ~ fgaaaa==@ # @ lsdd ` j黑客防线r # p @ # @ FGM AAA==# ~ @ } alert(decode . tostring());/脚本
//以上是加密代码。当然,如果真的用这种方法,就不会写加密了。//现在变量C就是加密的代码。
//下面的函数t()先假设初始密码为0,解密。//遇到错误就在密码上加1,然后解密,直到运行正确。
vard=c;//保存加密代码varb=0;//假设初始密码是0t();
functiont(){ try { eval(c);} catch(e){ c=' ';for(vari=0;id .长度;=string.fromcharcode(d.charcodeat(i)^b);} b=1;t();//setTimeout('t()',0);} }/脚本
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。