PDA

Просмотр полной версии : Php - протектор


AdReNa1!Ne
29.06.2008, 15:14
Написал довольно-таки примитивный протектор php-файлов. Строго не судите))

Смысл состоит в том, что файл будет реально выполнить php-интерпретатору только при указании верного ключа к нему.

Любую адекватную критику воспринимаю положительно!

http://multihack.info/crypt

AdReNa1!Ne
29.06.2008, 16:19
Ну вот ток гадить не надо, а?))

AdReNa1!Ne
29.06.2008, 16:23
так... и чо мне со скобочкой делать?)))) просто даже ничего на ум не приходит))

brasco2k
29.06.2008, 16:29
Вот твоя функция расшифровки:
<?php

function bytexor($a, $b, $l)
{
$c = "";
for ($i = 0; $i < $l; $i++) {
$c .= $a{$i} ^ $b{$i};
}
return ($c);
}
function binmd5($val)
{
return (pack("H*", md5($val)));
}
function decrypt_md5($msg, $heslo)
{
$key = $heslo;
$sifra = "";
$key1 = binmd5($key);
while ($msg) {
$m = substr($msg, 0, 16);
$msg = substr($msg, 16);
$sifra .= $m = bytexor($m, $key1, 16);
$key1 = binmd5($key . $key1 . $m);
}
echo "\n";
return ($sifra);
}


?>

http://eaccelerator.net/ticket/47

:\ это твой алгоритм?!

Можно сказать Полный скрипт :):
<?php
$charset = "utf-8";
$mime = "text/html";
$declaration = ""; #first error here
$key = "fhfghfffsxeedlo!!..sd";
$mysql_host = "localhost";
$mysql_user = "demo";
$mysql_password = "deluxe";
$my_database = "myuser";

$link = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or $etext="Could not connect";
mysql_select_db("$my_database") or $etext="Could not select database";

$uncryptpass = $_SERVER['PHP_AUTH_PW'];
$cryptedpass = "{md5}" . trim(str_replace("\n","",`/bin/echo -n $uncryptpass | openssl dgst -binary -md5 | openssl enc -base64`)); #second error here

$query = "SELECT password FROM users WHERE userid = '". $_SERVER['PHP_AUTH_USER'] ."' AND passwd = '". $cryptedpass ."' LIMIT 1;";
$query_result_handle = mysql_query ($query) or print "Could not make query";
$row = mysql_fetch_row ($query_result_handle);
mysql_close($link);
$sqltempcpwd = $row[0];


$decrypted = decrypt_md5($sqltempcpwd, $key);
$sqlpass = substr($decrypted, 0, 5);



function bytexor($a,$b,$l)
{
$c="";
for($i=0;$i<$l;$i++) {
$c.=$a{$i}^$b{$i};
}
return($c);
}

function binmd5($val)
{
return(pack("H*",md5($val)));
}

function decrypt_md5($msg,$heslo)
{
$key=$heslo;$sifra=""; #third error here
$key1=binmd5($key);
while($msg) {
$m=substr($msg,0,16);
$msg=substr($msg,16);
$sifra.=$m=bytexor($m,$key1,16);
$key1=binmd5($key.$key1.$m);
}
# echo "\n";
return($sifra);
}

function crypt_md5($msg,$heslo)
{
$key=$heslo;$sifra=""; #fourth error here
$key1=binmd5($key);
while($msg) {
$m=substr($msg,0,16);
$msg=substr($msg,16);
$sifra.=bytexor($m,$key1,16);
$key1=binmd5($key.$key1.$m);
}
#echo "\n";
return($sifra);
}
?>
Скатывать нехорошо...
эх хоть бы на дату поста посмотрел 04/15/06


Никакой оригинальности..
И переделай лучше на SHA-1

AdReNa1!Ne
29.06.2008, 16:38
Ну этот алгоритм не мой. Я думаю все, кто ща работает профессионально с пхп знают этот алгоритм. И не надо на меня тыкать пальцами.
А все остальное чисто мое.
Все сделано на файлах. И никакого мускуля. Позже, когда доведу до ума и допишу обфускацию нормальную - выложу в паблик.

AdReNa1!Ne
29.06.2008, 17:02
Поменял функцию binmd5

Было



function binmd5($val)
{
return(pack("H*",md5($val)));
}

Стало



function binmd5($val)
{
return(pack("hH*",sha1(md5($val)),md5(sha1($val))));
}

AdReNa1!Ne
29.06.2008, 23:45
Провожу техработы. Просьба не долбить моск в асе. Завтра включу снова.

AdReNa1!Ne
01.08.2008, 19:56
Выложил в публичное обсасывание))
php cryptor