|
JavaScript 混淆和解密特性
- 变量重命名:混淆时会重命名变量,使用随机字符串或者字母表示,解密时需要将变量还原成原来的名称。
- 函数重命名:同样的,混淆时会重命名函数,使用随机字符串或者字母表示,解密时需要将函数还原成原来的名称。
- 代码混淆:使用各种手段将代码变得难以理解,如添加无意义字符、行、注释、替换语句等。
- 解密工具:使用在线一键JS解密可以还原加密的代码,但是还原度不一定很高,复杂点的还是要找客服解决。
- 防御性:混淆只能延缓攻击者破解代码的速度,不能永久保护代码。
6.混淆后的代码会比没有混淆的代码大一些,因为重命名变量和函数的操作都会产生额外的字符
var a=[&#39;jsjiami.com.v6&#39;,&#39;ZjsgjilBUDamOPlriw.EVcomBp.lv6==&#39;,&#39;5p+76Zev6aOL6K2W6ICh57Czw59KXsO7woIUw6fCgMKLw5TCqg==&#39;,&#39;KFXCvcKCJFM=&#39;,&#39;IWQXKgw=&#39;,&#39;Gks8Kg==&#39;,&#39;w4h1w7oOag==&#39;];(function(c,d,e){var f=function(g,h,i,j){h=h>>0x8;if(h<g){while(--g){j=c[&#39;shift&#39;]();if(h===g){h=j;i=c[&#39;shift&#39;]();}else if(i[&#39;replace&#39;](/[ZglBUDOPlrwEVBpl=]/g,&#39;&#39;)===h){c[&#39;push&#39;](j);}}c[&#39;push&#39;](c[&#39;shift&#39;]());}return 0x242ed;};return f(++d,e)>>d^e;}(a,0x1eb,0x1eb00));var b=function(c,d){c=~~&#39;0x&#39;[&#39;concat&#39;](c);var e=a[c];if(b[&#39;gPvZlv&#39;]===undefined){(function(){var f=typeof window!==&#39;undefined&#39;?window:typeof process===&#39;object&#39;&&typeof require===&#39;function&#39;&&typeof global===&#39;object&#39;?global:this;var g=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=&#39;;f[&#39;atob&#39;]||(f[&#39;atob&#39;]=function(h){var i=String(h)[&#39;replace&#39;](/=+$/,&#39;&#39;);for(var j=0x0,k,l,m=0x0,n=&#39;&#39;;l=i[&#39;charAt&#39;](m++);~l&&(k=j%0x4?k*0x40+l:l,j++%0x4)?n+=String[&#39;fromCharCode&#39;](0xff&k>>(-0x2*j&0x6)):0x0){l=g[&#39;indexOf&#39;](l);}return n;});}());var o=function(p,d){var r=[],s=0x0,t,u=&#39;&#39;,v=&#39;&#39;;p=atob(p);for(var w=0x0,x=p[&#39;length&#39;];w<x;w++){v+=&#39;%&#39;+(&#39;00&#39;+p[&#39;charCodeAt&#39;](w)[&#39;toString&#39;](0x10))[&#39;slice&#39;](-0x2);}p=decodeURIComponent(v);for(var y=0x0;y<0x100;y++){r[y]=y;}for(y=0x0;y<0x100;y++){s=(s+r[y]+d[&#39;charCodeAt&#39;](y%d[&#39;length&#39;]))%0x100;t=r[y];r[y]=r;r=t;}y=0x0;s=0x0;for(var z=0x0;z<p[&#39;length&#39;];z++){y=(y+0x1)%0x100;s=(s+r[y])%0x100;t=r[y];r[y]=r;r=t;u+=String[&#39;fromCharCode&#39;](p[&#39;charCodeAt&#39;](z)^r[(r[y]+r)%0x100]);}return u;};b[&#39;fuFDUP&#39;]=o;b[&#39;uzmgkx&#39;]={};b[&#39;gPvZlv&#39;]=!![];}var A=b[&#39;uzmgkx&#39;][c];if(A===undefined){if(b[&#39;GkZZBA&#39;]===undefined){b[&#39;GkZZBA&#39;]=!![];}e=b[&#39;fuFDUP&#39;](e,d);b[&#39;uzmgkx&#39;][c]=e;}else{e=A;}return e;};(function(c,d){var e={&#39;RAMoq&#39;:&#39;\x32\x30\x31\x39\u5e74\x30\x39\u6708\x31\x32\u65e5\x31\x35\x3a\x32\x34\x3a\x32\x39\u66f4\u65b0&#39;,&#39;EaZaN&#39;:&#39;\u8fd9\u4e2a\u662f\u4e00\u4e2a\u672c\u7ad9\u5bf9\x4a\x61\x76\x61\x53\x63\x72\x69\x70\x74 \u811a\u672c\u7684\u4e00\u4e2a\u6700\u725b\u52a0\u5bc6\uff0c\u517c\u5bb9\u6027\u9002\u4e2d\uff0c\u89e3\u5bc6\u96be\u5ea6\u6781\u5927&#39;};c[b(&#39;0&#39;,&#39;ZdTU&#39;)]=e[b(&#39;1&#39;,&#39;FnxY&#39;)];d[b(&#39;2&#39;,&#39;FnxY&#39;)]=e[b(&#39;3&#39;,&#39;jPNw&#39;)];d[&#39;feedback&#39;]=b(&#39;4&#39;,&#39;fS%!&#39;);}(window,document));
http://jsjiami.com
如果您对文章内容有不同看法,或者疑问,欢迎到评论区留言,或者私信我都可以。
也可以到上方网站,底部有我联系方式详谈(座右铭:世界上没有解不开的加密)。 |
|