<?php
function randName()
{
$chars = str_shuffle("ABCDFGHIJKLMNOPSTUVWXYZabcdefghijklmnopqrstwxyz");
return substr($chars,0,rand(5,10));
}
function randSplit($s) {
$l = strlen($s);
if ($l==0) return $s;
$r = rand(1,$l);
$p1 = substr($s,0,$r);
$p2 = substr($s,$r, $l - $r);
return array($p1,$p2);
}
function obfuscate($src) {
$js_vare=randName();
$js_varf=randName();
$js_varh=randName();
$js_vari=randName();
$js_varj=randName();
$js_varr=randName();
$js_vars=randName();
$js_varv=randName();
$js_varw=randName();
$js_varz=randName();
$js_var2=randName();
$js_var3=randName();
$js_var4=randName();
$js_var1=randName();
$js_varq=randName();
$js_charCode = randSplit("fromCharCode");
$js_eval = randSplit("eval");
$js_createElement = randSplit("createElement");
$b = rand(2,100);
$data = array();
for ($i = 0; $i < strlen($src); $i++) {
$ch = ord($src[$i]) - $b;
$data[$i] = $ch;
}
$data = implode($data,',');
$datalen = strlen($src);
$scr = <<<EOT
<script>$js_vari=0;
try { $js_var1 = 0;
try { $js_var2 = prototype;}
catch($js_varz){
$js_varh="{$js_charCode[1]}";
$js_varf=[$data];
$js_varv="{$js_eval[0]}";
if ($js_varv) $js_vare = window[$js_varv+"{$js_eval[1]}"];
}
try{
$js_varq=document["{$js_createElement[0]}"+"{$js_createElement[1]}"]("b");
$js_varq.appendChild($js_varq+"");
} catch ($js_var3) {
$js_varw=$js_varf;
$js_vars=[];
}
$js_varr=String;
$js_varz=(($js_vare)?$js_varh:"");
for(;$datalen!=$js_vari;$js_vari+=1){
$js_varj=$js_vari;
if ($js_vare) $js_vars = $js_vars + {$js_varr}["{$js_charCode[0]}"+
(({$js_vare})?{$js_varz}:12)]({$js_varw}[{$js_varj}]*1+$b);
}
if ($js_vare && $js_varv && $js_varr && $js_varz && $js_varh && $js_vars && $js_varv && $js_varf) alert($js_vars);
} catch ($js_var4){}
</script>
EOT;
$scr=str_replace(" ", "", $scr);
$scr=str_replace("\n", "", $scr);
$scr=str_replace("\r", "", $scr);
$scr=str_replace("\t", "", $scr);
return $scr;
}
echo obfuscate("alert(1)");
?>