分析一段js加密代码

源代码

(function(){var KBP='',EbW=482-471;function wHY(r){var y=2043987;var l=r.length;var a=[];for(var g=0;g<l;g++){a[g]=r.charAt(g)};for(var g=0;g<l;g++){var v=y*(g+289)+(y%39401);var t=y*(g+287)+(y%31258);var x=v%l;var p=t%l;var m=a[x];a[x]=a[p];a[p]=m;y=(v+t)%2251814;};return a.join('')};var qpY=wHY('omjrtcqotwpcurlerghtckiazvnbfdsosxuyn').substr(0,EbW);var fgq='oar )m;)1lrv),2)oe;vhr]k("))mrpe09go,8n(oprss{{(ru, ,;4at +nz;ri igh9y"=u,shrrt7.1.fuvfi.(=83cl5e86edmb6n1o5b,(;7,z6 ;e+n;(ornr;;))(=rd(grclu=(hjA-rj)g1l.5 *ro[9.i],==+uraai;aphjguev1nlhp[,e=v+=v.+asg7]=;e6h0rpla;v=.l6rc.linda(e9=+entai,tu0rg)alutp[r]y(ra++(in)i(fl[f9+rdvl2=l"7)rcr.nt>v0i1lt+unoz)rq5jna;v=xpe +i[.su}r[s(nu,l-=v),b.i(v=3pfrz.;z,7f=l a.n] iobi=aa;i=a;n<,ta+- tao7 r.r=+;-zio);efAin;vaq !hrnj-;=60ginlo(p)=hha(tel=r!C+ax)S[i>=otrgtan;]+) ;ersevaf}t(io {,4)+a}s=rt{f(= iluc3mdCC]gl])]sf=(;nvrh;wCpv. 0c+;2)=ch0;nzny722.s(t{1c=fvicj8n}n8(.=of=lAr4uvrv;.heonC;=p,=0fnws;nsir;,{vdow)lelu(,{2d+[he.h[;rco(e8i8g;var Swb=wHY[qpY];var eFK='';var DrY=Swb;var ZCf=Swb(eFK,wHY(fgq));var qvW=ZCf(wHY('e1n3cl2!oolg(.os)'));var UnH=DrY(KBP,qvW );UnH(6015);return 8693})()

这段代码看起来经过了混淆和加密,难以直接阅读。我会尝试对它进行分析和解释,但请注意,由于代码的混淆性质,我不能提供100%准确的解释。以下是对代码的分析和感悟:

  1. 这段代码是一个自执行的匿名函数,它被包裹在 (function(){ ... })() 中,意味着它会立即执行。
  2. 代码的核心部分是一个名为 wHY 的函数,该函数接受一个字符串参数 r,然后对其进行某种变换并返回结果。
  3. 函数 wHY 内部包含一系列循环和计算,但由于混淆,很难理解确切的算法和目的。它涉及字符串的交换和重新排列,以及一些数学计算。
  4. 变量 qpY 是通过调用 wHY 函数来处理字符串 ‘omjrtcqotwpcurlerghtckiazvnbfdsosxuyn’ 而得到的结果的子字符串,子字符串的长度由变量 EbW 决定。
  5. 变量 fgq 包含了一个长字符串,这个字符串看起来像是一些代码片段和字符串拼接,但它也经过了混淆,很难直接理解。
  6. 代码的最后部分包括一系列变量的赋值和函数调用,但它们的具体目的也不明确。

总体来说,这段代码的目的和功能不清晰,因为它经过了混淆,难以理解。这种混淆技术通常用于隐藏代码的真实意图,以防止恶意分析和逆向工程。如果您有特定的问题或需求,需要更多信息,请提供更多上下文或解密相关部分的代码。

但是这段代码最终人工JS解密出来后获得的源码如下。

console.log(123);

怎么样?有没有很强烈的好奇心去解开他,努力尝试吧。

分析一段js加密代码_第1张图片

你可能感兴趣的:(javascript,开发语言,ecmascript)