js代码解密eval的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js代码解密eval的相关的知识,希望对你有一定的参考价值。

eval(function(p,a,c,k,e,d)e=function(c)return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36));if(!''.replace(/^/,String))while(c--)d[e(c)]=k[c]||e(c)k=[function(e)return d[e]];e=function()return'\\w+';c=1;while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])return p('16(t(c,g,d,f,e,h)e=t(c)v(c<g?"":e(14(c/g)))+(Y<(c%=g)?T.13(c+B):c.12(1c));1b(!"".X(/^/,T))U(;d--;)h[e(d)]=f[d]||e(d);f=[t(c)v h[c]];e=t()v"\\\\w+";d=1U(;d--;)f[d]&&(c=c.X(1k("\\\\b"+e(d)+"\\\\b","g"),f[d]));v c("g a=[\'/d/c/o.f\',\'/d/c/n.f\',\'/d/c/k.f\',\'/d/c/r.f\',\'/d/c/q.f\',\'/d/c/j.f\',\'/d/c/i.f\',\'/d/c/h.f\',\'/d/c/m.f\',\'/d/c/l.f\'];g b=[\'/d/c/0.e\',\'/d/c/1.e\',\'/d/c/2.e\',\'/d/c/3.e\',\'/d/c/4.e\',\'/d/c/5.e\',\'/d/c/6.e\',\'/d/c/7.e\',\'/d/c/8.e\',\'/d/c/9.e\',\'/d/c/p.e\',\'/d/c/s.e\'];",B,B," 1e C 1d 1g D 1h 1m 1l 1a 1i 1j 1n 17 10 Z 19 11".18(" "),0,));D u;t V(c)L("z").1o(15:"1f",1x:"I://M.J.N/C/K/1I.1H",1G:a[c.H.x],1K:"I://M.J.N/C/K/1J.1P",1O:"1L",1M:"1E",1C:"1t");$("#z").1u(1D:L("z").1s())t F(c)E();G(b[c.H.x]);O()t O()A!=u&&u.1p()t E()A!=u&&u.1y()t G(c)A!=u&&u.1z(c)$(t()$(".W").S(t(c)$(y).P("R",x:c,V));$(".W").1A(t()$(y).1B("Q"),t()$(y).1w("Q"));u=1v.1q("1r");$("#1N 1F").S(t(c)$(y).P("R",x:c,F)));',62,114,'|||||||||||||||||||||||||||||function|dewp|return|||this|mediaplayer|null|29|res|var|stop|showRideo|set|data|http|wl78|images|jwplayer|www|cn|play|bind|v_open|click|each|String|for|showVideo|a_block|replace|35|vxzu3ne1aipa|||toString|fromCharCode|parseInt|stretching|eval|sadfweuo12i1239jsdf|split|xcvkh3asbdf823a|xcvywehajsf239adf2afs|if|36|mp3|video|fill|flv|8zfdafpoidsif23la|10xjfaoisufjsf32nlna|9xv89234ljaladfxmfoxuc|RegExp|6sdfajfljasfja21312|798q3j2ljlafdpsax|lxjvoiyowerljafsdw23|setup|dewplay|getElementById|dewplayerjs|remove|bottom|modal|document|removeClass|flashplayer|dewstop|dewset|hover|addClass|controlbar|onClose|360|span|file|swf|player|view|image|480|height|radio|width|jpg'.split('|'),0,))

你好,解密代码如下:

var a = ['/res/video/sadfweuo12i1239jsdf.flv', '/res/video/lxjvoiyowerljafsdw23.flv', '/res/video/xcvywehajsf239adf2afs.flv', '/res/video/xcvkh3asbdf823a.flv', '/res/video/vxzu3ne1aipa.flv', '/res/video/6sdfajfljasfja21312.flv', '/res/video/798q3j2ljlafdpsax.flv', '/res/video/8zfdafpoidsif23la.flv', '/res/video/9xv89234ljaladfxmfoxuc.flv', '/res/video/10xjfaoisufjsf32nlna.flv'];
var b = ['/res/video/0.mp3', '/res/video/1.mp3', '/res/video/2.mp3', '/res/video/3.mp3', '/res/video/4.mp3', '/res/video/5.mp3', '/res/video/6.mp3', '/res/video/7.mp3', '/res/video/8.mp3', '/res/video/9.mp3', '/res/video/10.mp3', '/res/video/11.mp3'];

参考技术A 你这代码是加密混淆后的,好像没有反加密混淆的。

php代码解密

发现很多网上的源码,都会被插入一段来历不明的代码。

 

此类代码加密特征为:

$OOO0O0O00=__FILE__;$OOO000000=urldecode(‘%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72‘);、eval(($$O0O0000O0( 

 

 例如:

<?php /*  */$OOO000000=urldecode(‘%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64‘);$GLOBALS[‘OOO0000O0‘]=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5}.$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$GLOBALS[‘OOO0000O0‘].=$GLOBALS[‘OOO0000O0‘]{3}.$OOO000000{11}.$OOO000000{12}.$GLOBALS[‘OOO0000O0‘]{7}.$OOO000000{5};$GLOBALS[‘OOO000O00‘]=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$GLOBALS[‘O0O000O00‘]=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$GLOBALS[‘O0O000O00‘]=$O0O000O00.$OOO000000{3};$GLOBALS[‘O0O00OO00‘]=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$GLOBALS[‘OOO00000O‘]=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x9980;echo($GLOBALS[‘OOO0000O0‘](‘JE8wMDBPME8wMD0kR0xPQkFMU1snT09PMDAwTzAwJ10oJE9PTzBPME8wMCwncmInKTskR0xPQkFMU1snTzBPMDBPTzAwJ10oJE8wMDBPME8wMCwweDUwMik7JE9PMDBPMDBPMD0kR0xPQkFMU1snT09PMDAwME8wJ10oJEdMT0JBTFNbJ09PTzAwMDAwTyddKCRHTE9CQUxTWydPME8wME9PMDAnXSgkTzAwME8wTzAwLDB4MWE4KSwnRW50ZXJ5b3V3a2hSSFlLTldPVVRBYUJiQ2NEZEZmR2dJaUpqTGxNbVBwUXFTc1Z2WHhaejAxMjM0NTY3ODkrLz0nLCdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJykpO2V2YWwoJE9PMDBPMDBPMCk7‘));return;?>
~Dkr9NHenNHenNHe1zfukgFMaXdoyjcUImb19oUAxyb18mRtwmwJ4LT09NHr8XTzEXRJwmwJXLO0xN···········后面还有很多这样的代码。

发现上面这个?>后面有很多的代码,很明显,这些代码肯定不是要给客户的浏览器看的,肯定是在php中进行解析的。

<?php /*  */
$OOO000000=urldecode(‘%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64‘);
$GLOBALS[‘OOO0000O0‘]=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5}.$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};
$GLOBALS[‘OOO0000O0‘].=$GLOBALS[‘OOO0000O0‘]{3}.$OOO000000{11}.$OOO000000{12}.$GLOBALS[‘OOO0000O0‘]{7}.$OOO000000{5};
$GLOBALS[‘OOO000O00‘]=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};
$GLOBALS[‘O0O000O00‘]=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};
$GLOBALS[‘O0O000O00‘]=$O0O000O00.$OOO000000{3};
$GLOBALS[‘O0O00OO00‘]=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};
$GLOBALS[‘OOO00000O‘]=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};
$OOO0O0O00=__FILE__;
$OO00O0000=0x9980;
$O000O0O00=$GLOBALS[‘OOO000O00‘]($OOO0O0O00,‘rb‘);
$GLOBALS[‘O0O00OO00‘]($O000O0O00,0x502);
$OO00O00O0=$GLOBALS[‘OOO0000O0‘]($GLOBALS[‘OOO00000O‘]($GLOBALS[‘O0O00OO00‘]($O000O0O00,0x1a8),‘EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=‘,‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/‘));
eval($OO00O00O0);
return;
?>~Dkr9NHenNHenNHe1zfukgFMaXdoyjcUImb19oUAxyb18mRtwmwJ4LT09NHr8XTzEXRJwmwJXLO0xNWLyHA1SmT09NHeEXHr8Xk10PkrfHT0knTyYdk09NTzEXHeEXTZffhtOuTr9tWAxTBZfNHr8XHr9NHeEmbUILTzEXHr8XTzEXRtONTzEXTzEXHeEpRtfydmOlFmlvfbfqDykwBAsKa09aaryiWMkeC0OLOMcuc0lpUMpHdr1sAunOFaYzamcCGyp6HerZH

首先我们将代码整理上面成大概可以阅读的形式。

什么都不管先,先把长相怪异的变量都输出出来!

按道理应该都要输出出来的,根据我之前做的结果,发现有用的只有如下几个变量,其他为干扰变量。

$OOO000000=urldecode(‘%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64‘);
die($OOO000000); //输出出来$OOO000000 为 fg6sbehpra4co_tnd
$GLOBALS[‘OOO0000O0‘]=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5}.$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};
die($GLOBALS[‘OOO0000O0‘]); //输出出来$GLOBALS[‘OOO0000O0‘] 为 base64_decode
$GLOBALS[‘OOO000O00‘]=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};
die($GLOBALS[‘OOO000O00‘]); // 输出出来$GLOBALS[‘OOO000O00‘] 为 fopen
$GLOBALS[‘O0O00OO00‘]=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};
die($GLOBALS[‘O0O00OO00‘]); //输出出来 $GLOBALS[‘O0O00OO00‘] 为 fread

 

紧接着我们来看一下下面的代码 (重要、重要、重要)

$O000O0O00=$GLOBALS[‘OOO000O00‘]($OOO0O0O00,‘rb‘);
//然后我们重点来分析上述代码,根据我们之前输出的可以发现这行代码实际为:
$O000O0O00=fopen(FILE,‘rb‘);
$GLOBALS[‘O0O00OO00‘]($O000O0O00,0x502);
//再分析这个上述代码,根据我们之前输出得到变量,可以发现这行代码实际为:
fread(
$O000O0O00,0x502); //意思就是读文件到0x502 但没有获取内容,这时候句柄指向了0x502,0x502之前的内容就没有了。
$OO00O00O0=$GLOBALS[‘OOO0000O0‘]($GLOBALS[‘OOO00000O‘]($GLOBALS[‘O0O00OO00‘]($O000O0O00,0x1a8),‘EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=‘,‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/‘));
//再分析这个上述代码,根据我们之前输出得到变量,可以发现这行代码实际为:
$OO00O00O0 = base64_decode(strtr(fread($O000O0O00,0x1a8),‘EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=‘,‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/‘));
//上面这个代码又是重新从0x502后取了0x1a8单位的内容赋给了$OO00O00O0。
这时候我们解密的步骤很清楚了。
先找到这个文件的第0x502,然后删除之前的文本,然后再往后找到0x1a8,复制下来这段文本。
构造:
$data = "复制下来的文本";
$decode = base64_decode(strtr($data,‘EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=‘,‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/‘));
echo $decode; //即可得到源码。

以上是关于js代码解密eval的的主要内容,如果未能解决你的问题,请参考以下文章

js怎么解密,js解密工具js怎么查看这些代码麻烦给解决一下

C#对于 eval加密的JS 有啥办法解密获取跳转URL

如何解密eval

js解密方法

用不同的代码替换 MicrosoftAjax.js 文件中的 eval()

JS高级——eval