JAVASCRIPT加密解密终级指南
加密代码如下(详细参照文件"加密.htm"):
<SCRIPT LANGUAGE="JavaScript">
function compile(code)
{
var c=String.fromCharCode(code.charCodeAt(0) code.length);
for(var i=1;i<code.length;i ){
c =String.fromCharCode(code.charCodeAt(i) code.charCodeAt(i-1));
}
alert(escape(c));
}
compile('alert("《黑客防线》");')
</SCRIPT>
内容来自dedecms
运行得到加密结果为:
o脱祖淛%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd
织梦内容管理系统
相应的加密后解密的代码如下:
<SCRIPT LANGUAGE="JavaScript">
function uncompile(code)
{
code=unescape(code);
var c=String.fromCharCode(code.charCodeAt(0)-code.length);
for(var i=1;i<code.length;i ){
c =String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1));
}
return c;
}
eval(uncompile("o脱祖淛%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd"));
</SCRIPT>
七:错误的利用
利用try{}catch(e){}结构对代码进行测试解密,虽然这个想法很好(呵呵,夸夸自己),因为实用性不大,我仅给个例子
<SCRIPT LANGUAGE="JavaScript"> copyright dedecms
var a='alert("《黑客防线》");';
var c="";
for(var i=0;i<a.length;i ){
c =String.fromCharCode(a.charCodeAt(i)^61);}
织梦内容管理系统
alert(c); dedecms.com
//上面的是加密代码,当然如果真正使用这个方法时,不会把加密写上的
//现在变量c就是加密后的代码 织梦内容管理系统
//下面的函数t()先假设初始密码为0,解密执行,
//遇到错误则把密码加1,然后接着解密执行,直到正确运行 织梦内容管理系统
var d=c; //保存加密后的代码
var b=0; //假定初始密码为0
t(); dedecms.com
function t(){
try{eval(c);}catch(e){
c="";
for(var i=0;i<d.length;i ){
c =String.fromCharCode(d.charCodeAt(i)^b);}
b =1;
t();
//setTimeout("t()",0);
}
}
</SCRIPT> 内容来自dedecms
文章评论
共有位Admini5网友发表了评论 查看完整内容