<? 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" /> <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; } ?>