PDA

Просмотр полной версии : Криптор Php файлов


Sa1nt^Nook
24.09.2007, 21:23
Есть ли паблик криптор php файлов? Чтонить вроде этого:

<? error_reporting(0); set_time_limit(0); if (!isset($_GET['crypt']) || empty($HTTP_POST_FILES['file'])) { ?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Онлайн крипт PHP скриптов</title>
</head>
<body bgcolor="#181818" text="#FFFFFF">
<center>
<h1>Крипт PHP скриптов</h1>
<br />
<form action="?crypt=1" method="post" enctype="multipart/form-data">
Загрузите ваш скрипт:<br />
<small>(Допустимые расширения: php, php3, php4, php5)</small><br />
<input type="file" name="file" />&nbsp;<input type="submit" value="Крипт" /><br />
<table width="500" border="0"><tr><td><div align="justify">
Размер закриптованного скрипта немного увеличится. Ключ, с помощью которого криптуются скрипты каждый раз генерируется другой. После криптования вам будет предложено сохранить закриптованный скрипт.
</div></td></tr></table>
</form>
</center>
</body>
</html>
<?php
} else {
function get_file_ext($file) {
if (strstr($file,".")) {
$d=strlen($file);
$ext="";
while($file[$d]!=".") {
$ext=$file[$d].$ext; $d--; }
return strtolower($ext);
} else {
return $name;
}
}
$file_ext=get_file_ext($HTTP_POST_FILES['file']['name']);
if ($file_ext != "php" && $file_ext != "php3" && $file_ext != "php4" && $file_ext != "php5") {
die ("<h2>Загруженный файл не является РНР скриптом!</h2>");
}
$input = $_FILES['file']['tmp_name'];
$f=join("", file($input));
$key = rand(1,100);
$find = 0;
$start_pos = strpos($f, "<?php");
if($start_pos != false)
{
$start_pos = strpos($f, "<?");
if($start_pos == false)
{
$find=1;
$f= substr($f, $start_pos+2, strlen($f));
}
}
else
{
$find=1;
$f= substr($f, $start_pos+5, strlen($f));
}
if($find==0) exit("Крипт не удался.");
$start_pos = strrpos($f, "?>");
if(is_int($start_pos))$f=substr($f, 0, $start_pos);
$new = '';$len=strlen($f);
for($i=0;$i<$len;$i++)
{
$new .= chr(ord($f[$i]) ^ $key);
}
$new = str_replace("<?", "[t1]", $new);
$new = str_replace("'", "[t3]", $new);
$code = "<?
\$key_that_script_is_crypted=$key;
\$resource_crypted_code ='$new';
\$string_output=str_replace(\"[t1]\", \"<?\", \$resource_crypted_code);
\$string_output=str_replace(\"[t3]\", \"'\", \$string_output);
\$lenth_of_crypted_code=strlen(\$string_output);
\$eval_php_code='';
for(\$huivamvsem=0;\$huivamvsem<\$lenth_of_crypted_code;\$huivamvsem++)
\$eval_php_code .= chr(ord(\$string_output[\$huivamvsem]) ^ \$key_that_script_is_crypted);
eval(\$eval_php_code);
?>";
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=\"crypted.".$file_ext."\";");
header("Content-length: ".strlen($code));
echo $code;
}
?>

n0153r
24.09.2007, 21:50
№ 1

<?
function _fwk_filter_encrypt($content)
{
$table = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN OPQRSTUVWXYZ_@";
$xor = 165;

// Prepare encoding table
$table = array_keys(count_chars($table, 1));
$i_min = min($table);
$i_max = max($table);
for ($c = count($table); $c > 0; $r = mt_rand(0, $c--))
array_splice($table, $r, $c - $r, array_reverse(array_slice($table, $r, $c - $r)));

// Encode sequence
$len = strlen($content);
$word = $shift = 0;
for ($i = 0; $i < $len; $i++)
{
$ch = $xor ^ ord($content[$i]);
$word |= ($ch << $shift);
$shift = ($shift + 2) % 6;
$enc .= chr($table[$word & 0x3F]);
$word >>= 6;
if (!$shift)
{
$enc .= chr($table[$word]);
$word >>= 6;
}
}
if ($shift)
$enc .= chr($table[$word]);

// Decode sequence
$tbl = array_fill($i_min, $i_max - $i_min + 1, 0);
while (list($k,$v) = each($table))
$tbl[$v] = $k;
$tbl = implode(",", $tbl);

$fi = ",p=0,s=0,w=0,t=Array({$tbl})";
$f = "w|=(t[x.charCodeAt(p++)-{$i_min}])<<s;";
$f .= "if(s){r+=String.fromCharCode({$xor}^w&255);w>>=8;s-=2}else{s=6}";

// Generate page
$r = "<script language=JavaScript>";
$r.= "function decrypt_p(x){";
$r.= "var l=x.length,b=1024,i,j,r{$fi};";
$r.= "for(j=Math.ceil(l/b);j>0;j--){r='';for(i=Math.min(l,b);i>0;i--,l--){{$f}}document.write(r)}";
$r.= "}decrypt_p(\"{$enc}\")";
$r.= "</script>";
return $r;
}
ob_start("_fwk_filter_encrypt");

?>

№ 2

<pre><?
$input = "crypt.php";
$output = "crypt12.php";


#################################
///
$f=join("", file($input));
// $f=str_replace("\t", "", str_replace(";\r\n", ";", join("", file($input))));
$key = rand(1,100);

$start_pos = strpos($f, "<?php");
if($start_pos === false )
{
$start_pos = strpos($f, "<?");
if($start_pos !== false )
{
$f= substr($f, $start_pos+2, strlen($f));
}
}
else
{
$f= substr($f, $start_pos+5, strlen($f));
}

$start_pos = strrpos($f, "?>");
$f=substR($f, 0, $start_pos);


$new = '';$len=strlen($f);


for($i=0;$i<$len;$i++)
{
$new .= chr(ord($f[$i]) ^ $key);
}
$new = str_replace("<?", "[phpcode]", $new);



$code = "<?
\$кeу=$key;\$str=file(__FILE__);\$res=''; for(\$j=2;\$j<count(\$str);\$j++) \$res .=\$str[\$j];\$str=str_replace(\"[phpcode]\", \"<?\", \$res);\$len=strlen(\$str);\$ev='';for(\$i=0;\$i<\$len;\$i++)\$ev .= chr(ord(\$str[\$i]) ^ \$key);eval(\$ev);exit;?>
$new";

fwrite( fopen($output, "w"), $code);

NFM
24.09.2007, 21:51
а как тебе зендер?

Sa1nt^Nook
24.09.2007, 21:54
Не зенд не нужен)) Желательно что бы пороще было :)

NFM
24.09.2007, 22:03
а тупо в base64 засунуть? или тебе чтобы от антивирей не палился?

Sa1nt^Nook
24.09.2007, 22:10
Желательно это и было первоночальной целью реально ктонить может чтото посоветовать?

Tcl70
25.09.2007, 11:47
http://d0x.de/encoder/php-script_encoder.php :)

ant0ha
25.09.2007, 13:24
Желательно это и было первоночальной целью реально ктонить может чтото посоветовать?
Ты в начале толком объясни, что тебе действительно надо. На какой стадии он не должен палиться до обработки web-сервером или уже после? Если до - тогда думаю любой предложенный подойдет, если после то тут уже врядли чтото поможет.

bopoh13
27.09.2007, 10:42
№ 2
<pre><?
$input = "crypt.php";
...
fwrite( fopen($output, "w"), $code);
Битый код :rolleyes: