Php - протектор

Discussion in 'PHP' started by AdReNa1!Ne, 29 Jun 2008.

  1. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Написал довольно-таки примитивный протектор php-файлов. Строго не судите))

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

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

    http://multihack.info/crypt
     
    #1 AdReNa1!Ne, 29 Jun 2008
    Last edited: 29 Jun 2008
    1 person likes this.
  2. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Ну вот ток гадить не надо, а?))
     
  3. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    так... и чо мне со скобочкой делать?)))) просто даже ничего на ум не приходит))
     
  4. brasco2k

    brasco2k Elder - Старейшина

    Joined:
    23 Nov 2007
    Messages:
    258
    Likes Received:
    91
    Reputations:
    0
    Вот твоя функция расшифровки:
    PHP:
    <?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:
    <?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
     
    #4 brasco2k, 29 Jun 2008
    Last edited: 29 Jun 2008
  5. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Ну этот алгоритм не мой. Я думаю все, кто ща работает профессионально с пхп знают этот алгоритм. И не надо на меня тыкать пальцами.
    А все остальное чисто мое.
    Все сделано на файлах. И никакого мускуля. Позже, когда доведу до ума и допишу обфускацию нормальную - выложу в паблик.
     
    #5 AdReNa1!Ne, 29 Jun 2008
    Last edited: 29 Jun 2008
    1 person likes this.
  6. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Поменял функцию binmd5

    Было


    PHP:
    function binmd5($val)
    {
        return(
    pack("H*",md5($val)));
    } 
    Стало


    PHP:
      function binmd5($val)
      {
        return(
    pack("hH*",sha1(md5($val)),md5(sha1($val))));
      }
     
  7. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Провожу техработы. Просьба не долбить моск в асе. Завтра включу снова.
     
  8. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Выложил в публичное обсасывание))
    [link=http://multihack.info/upload/sha1.rar]php cryptor[/link]