如何解密eval……).docx

上传人:牧羊曲112 文档编号:3412417 上传时间:2023-03-13 格式:DOCX 页数:5 大小:38.29KB
返回 下载 相关 举报
如何解密eval……).docx_第1页
第1页 / 共5页
如何解密eval……).docx_第2页
第2页 / 共5页
如何解密eval……).docx_第3页
第3页 / 共5页
如何解密eval……).docx_第4页
第4页 / 共5页
如何解密eval……).docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《如何解密eval……).docx》由会员分享,可在线阅读,更多相关《如何解密eval……).docx(5页珍藏版)》请在三一办公上搜索。

1、如何解密eval)下面是一段加密后的代码,很晕吧,但事实上只是使用了障眼法,把换行取消掉了而已,让我们排版一下再来看看到底是什么? eval(function(p,a,c,k,e,r)e=function(c)return(c35?String.fromCharCode(c+29):c.toString(36);if(!.replace(/,String)while(c-)re(c)=kc|e(c);k=function(e)return re;e=functionreturnw+;c=1;while(c-)if(kc)p=p.replace(new RegExp(b+e(c)+b,g),kc

2、);return p(1 t;1 y=R;1 i=l;1 f=x;1 8=2.K;1 6=;5 C(a)i=l;f=x;8=2.13;y=Z;6=a;v;u5 uk(t!=q)t.L.J=6;t.r5 jk(t=q)3.4(7).B=7;3.4(7).9.1a=18;t=12 10.X(h,8:8,T:i,S:f,Q:i,P:f,O:7,6:6);k(!3.N.M)o;t.r5 vp.n(I,H,j);p.n(3.4(h),G,j)5 o1 a=3.4(7);1 b=3.4(F);1 c=0;1 d=0;1 e=b.m;E(e.D!=V)c=c+e.W;d=d+e.A;e=e.mc=c+Y/2

3、+3.4(h).19/2;d=d+3.4(h).z-17(a.9.z);a.9.14=d+w;a.9.11=c+w5 15(a)1 b=16(a).U(/s+|s+$/g,);1b b,62,74,|var|document|getElementById|function|previewSrc|previewArea|radio|style|mHeight|testImage|mWidth|createPreview|if|85|offsetParent|observe|setPreviewWrapPos|Event|null|reset|resetPreview|observe_pic|px

4、|70|isNeck|height|offsetTop|className|initProduct|tagName|while|pbigImg|mouseover|load|window|src|6666667|previewImg|attachEvent|body|previewWrap|maxHeight|maxWidth|false|minHeight|minWidth|replace|BODY|offsetLeft|ImgWithPreview|310|true|Cropper|left|new|666666667|top|Trim|String|parseInt|absolute|w

5、idth|position|return.split(|),0,) 排版后 eval( function(p,a,c,k,e,r) e = function(c) return(c35?String.fromCharCode(c+29):c.toString(36) ; if(!.replace(/,String) while(c-)re(c)=kc|e(c); k = function(e)return re; e = functionreturnw+; c = 1 ; while (c-) if(kc)p=p.replace(new RegExp(b+e(c)+b,g),kc); retu

6、rn p; (1 t;1 y=R;1 i=l;1 f=x;1 8=2.K;1 6=;5 C(a)i=l;f=x;8=2.13;y=Z;6=a;v;u5 uk(t!=q)t.L.J=6;t.r5 jk(t=q)3.4(7).B=7;3.4(7).9.1a=18;t=12 10.X(h,8:8,T:i,S:f,Q:i,P:f,O:7,6:6);k(!3.N.M)o;t.r5 vp.n(I,H,j);p.n(3.4(h),G,j)5 o1 a=3.4(7);1 b=3.4(F);1 c=0;1 d=0;1 e=b.m;E(e.D!=V)c=c+e.W;d=d+e.A;e=e.mc=c+Y/2+3.4

7、(h).19/2;d=d+3.4(h).z-17(a.9.z);a.9.14=d+w;a.9.11=c+w5 15(a)1 b=16(a).U(/s+|s+$/g,);1b b,62,74,|var|document|getElementById|function|previewSrc|previewArea|radio|style|mHeight|testImage|mWidth|createPreview|if|85|offsetParent|observe|setPreviewWrapPos|Event|null|reset|resetPreview|observe_pic|px|70|

8、isNeck|height|offsetTop|className|initProduct|tagName|while|pbigImg|mouseover|load|window|src|6666667|previewImg|attachEvent|body|previewWrap|maxHeight|maxWidth|false|minHeight|minWidth|replace|BODY|offsetLeft|ImgWithPreview|310|true|Cropper|left|new|666666667|top|Trim|String|parseInt|absolute|width

9、|position|return.split(|),0,) 那么熟悉这种函数写法的应该就能明白这个加密原理了吧。只要细心点就能发现其实这种加密手段是用来防止一些拿来主意者。上面加密的js代码如果想得到其原代码可以在“return p;” 之前打印出来既可,例如:“document.writeln(p);”。 顺便介绍一下 eval 方法。 eval 方法 检查 Javascript 代码并执行. eval(codeString) 必选项 codestring 参数是包含有效 Javascript 代码的字符串值。这个字符串将由 Javascript 分析器进行分析和执行。 说明 eval 函数

10、允许 Javascript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate : eval(var mydate = new Date;); 传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样. 这种语法是这样的,例如代码: var test_func = function (par1, par2) alert(par1: +par1+npar2: +par2); (我是第一个参数。, 还有我是第二个参数); 和下面代码效果是一样的: function test_func (par1, par2) alert(par1: +par1+n

11、par2: +par2); test_func(我是第一个参数。, 还有我是第二个参数); 解密的一个实例: a=62; function encode var code = document.getElementById(code).value; code = code.replace(/rn+/g, ); code = code.replace(/g, ); var tmp = code.match(/b(w+)b/g); tmp.sort; var dict = ; var i, t = ; for(var i=0; itmp.length; i+) if(tmpi != t) dict

12、.push(t = tmpi); var len = dict.length; var ch; for(i=0; ilen; i+) ch = num(i); code = code.replace(new RegExp(b+dicti+b,g), ch); if(ch = dicti) dicti = ; document.getElementById(code).value = eval(function(p,a,c,k,e,d)e=function(c)return(c35?String.fromCharCode(c+29):c.toString(36);if(!.replace(/,S

13、tring)while(c-)de(c)=kc|e(c);k=function(e)return de;e=functionreturnw+;c=1;while(c-)if(kc)p=p.replace(new RegExp(b+e(c)+b,g),kc);return p( + +code+,+a+,+len+,+ dict.join(|)+.split(|),0,); function num(c) return(c35?String.fromCharCode(c+29):c.toString(36); function run eval(document.getElementById(code).value); function decode var code = document.getElementById(code).value; code = code.replace(/eval/, ); document.getElementById(code).value = eval(code);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号