Просмотр полной версии : 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
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot