
04.06.2008, 00:18
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Код:
function gen_rnd($len) {
$rnd_text=null;
for ($i=0;$i<$len;$i++){
$temp=rand(1,3);
if ($i==0){
$temp2=rand(1,2);
if ($temp2==1) {
$rnd_text.=chr(rand(65,90));
} else {
$rnd_text.=chr(rand(97,122));
}
} else {
if ($temp==1) {
$rnd_text.=chr(rand(65,90));
} elseif ($temp==2) {
$rnd_text.=chr(rand(97,122));
} else {
$rnd_text.=chr(rand(48,57));
}
}
}
return $rnd_text;
}
function crupt_php_code($code)
{
$start_pos = strpos($code, "<?php");
if ($start_pos === false)
{
$start_pos = strpos($code, "<?");
if ($start_pos !== false)
{ $code = substr($code, $start_pos + 2, strlen($code)); }
} else
{ $code = substr($code, $start_pos + 5, strlen($code)); }
$start_pos = strrpos($code, "?>");
if (is_int($start_pos)) { $code = substr($code, 0, $start_pos); }
$code = base64_encode(gzdeflate($code));
$code = "eval(gzinflate(base64_decode('".$code."')));";
$key_name = '$'.gen_rnd(8);
$key = rand(0, 99);
$code_name = '$'.gen_rnd(8);
$decoded_name = '$'.gen_rnd(8);
$cycle_name = '$'.gen_rnd(4);
$crupted_code = '';
for ($i=0;$i<strlen($code);$i++)
{ $crupted_code .= chr(ord($code[$i]) ^ $key); }
$crupted_code = base64_encode($crupted_code);
$unpacker = $code_name.'=base64_decode('.$code_name.'); for ('.$cycle_name.'=0;'.$cycle_name.'<strlen('.$code_name.');'.$cycle_name.'++) { '.$decoded_name.' .= chr(ord('.$code_name.'['.$cycle_name.']) ^ '.$key_name.'); } eval('.$decoded_name.');';
$xcode = "<? \r\n".$key_name.'='.$key.';'."\r\n".$code_name.'="'.$crupted_code.'";'."\r\n".$unpacker.' ?>';
return $xcode;
}
|
|
|