• 08-08-2023, 16:11:52
    #1
    Merhaba,

    Ioncube sistemi gibi kendi php kodlarımı şifrelemek istiyorum. Bunu nasıl yapabilirim?
  • 08-08-2023, 16:13:47
    #2
    Çok zor. Çok algoritma isteyen bir şey.
  • 08-08-2023, 22:26:57
    #3
    c++ öğrenmen lazım.
    php extensionlarının kaynak kodlarına bakabilirsin
  • 10-08-2023, 05:01:01
    #4
    2017 yılında bunun için şöyle bir şey düşünmüşüm..
    Diyelim ki projenin en kafa sınıf dosyası var.
    Örneğin bir haber çekme botu yapmışım..
    Kodların başlama şekli bu şekilde;




    Daha sonra bunları şifreleyebilecek bir PHP fonksiyonu düşünmüşüm..
    Bu fonksiyon ile kodları aşağıdaki hale getirmişim, bu şekilde bir kaç kişiye verdiğimi hatırlıyorum;


    Şifreleme fonksiyonumda şunlar;
    <?php
    // Belirli uzunlukta rastgele bir dize oluşturan fonksiyon
    function generateRandomString($length = 10, $type = false)
    {
        if ($type)
            $salt = "0123456789";
        else
               $salt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            
        $len = strlen($salt);
        $makepass = '';
        mt_srand(10000000*(double)microtime());
        for ($i = 0; $i < $length; $i++) {
            $makepass .= $salt[mt_rand(0, $len - 1)];
        }
    
        return $makepass;
    }
    
    // Dosyadaki fonksiyonları değiştiren ve yeniden adlandıran ana işlev
    $file = file_get_contents('newsBot.php');
    
    $fnc = array();
    preg_match_all("/function\s(.+?)\((.*?)\)/i", $file, $matches);
    foreach ($matches[1] as $key) {
        $file = str_replace('function ' . $key . '(', 'function ' . md5($key) . '(', $file);
        $file = str_replace('$this->' . $key . '(', '$this->' . md5($key) . '(', $file);
        $fnc[md5($key)] = $key;
    }
    
    // "$this->" ile başlayan anahtarları değiştiren ana işlev
    preg_match_all("/\\\$this->([A-Z0-9][A-Z0-9_]+)\s=/i", $file, $matches);
    
    $keys = array();
    foreach ($matches[1] as $key) {
        $to = generateRandomString(3) . generateRandomString(3, true) . generateRandomString(10);
        if (isset($keys[$key]))
            $to = $keys[$key];
        else
            $keys[$key] = $to;
        $file = str_replace('$this->' . $key . ',', '$this->' . $to . ',', $file);
        // Diğer değişiklikler benzer şekilde yapılır...
    }
    
    // "$" ile başlayan anahtarları değiştiren işlev
    preg_match_all("/\\$([A-Z0-9][A-Z0-9_]+)\s=/i", $file, $matches);
    
    foreach ($matches[1] as $key) {
        $to = generateRandomString(3) . generateRandomString(3, true) . generateRandomString(10);
        if (isset($keys[$key]))
            $to = $keys[$key];
        else
            $keys[$key] = $to;
        // Değişiklikler benzer şekilde yapılır...
    }
    
    // Array anahtarlarını değiştiren işlev
    preg_match_all("/\\['(.*)'\\]\s/i", $file, $matches2);
    
    $keys = array();
    $allowed_keys = array('Site', 'title', 'meta_keywords', 'meta_description', 'short_content', 'site', 'content', 'image', 'id', 'lastId', 'username', 'password', 'link', 'Session');
    foreach ($matches2[1] as $key) {
        if (!in_array($key, $keys))
            $keys[] = $key;
    }
    foreach ($allowed_keys as $key) {
        $str = '';
        for ($i=0; $i<=strlen($key); $i++) {
            if ($i)
                $str .= ". /* " . generateRandomString() . " */\n\r";
            $str .= "'" . substr($key, $i, 1) . "'";
        }
        $file = str_replace("'{$key}'", $str, $file);
    }
    
    // Fonksiyon isimlerini geri değiştirme
    foreach ($fnc as $k => $v) {
        $file = str_replace('function ' . $k . '(', 'function ' . $v . '(', $file);
        $file = str_replace('$this->' . $k . '(', '$this->' . $v . '(', $file);
    }
    
    $file = str_replace("\t", "", $file);
    
    // İşlenmiş kodu bir dosyaya yazma
    file_put_contents('newsBot.min.php', $file);
    ?>
    Umarım fikir verir..
  • 11-08-2023, 15:55:45
    #5
    sinanyilmaz47 adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Ioncube sistemi gibi kendi php kodlarımı şifrelemek istiyorum. Bunu nasıl yapabilirim?
    @aponkral; tarafından yapılan PHPKoru var. ioncube gibi extension olarak çalışıyor. CPanel, plesk desteği de var
  • 11-08-2023, 16:01:01
    #6
    rmzonl adlı üyeden alıntı: mesajı görüntüle
    @aponkral; tarafından yapılan PHPKoru var. ioncube gibi extension olarak çalışıyor. CPanel, plesk desteği de var
    Evet, o sistemi biliyorum. Fakat dediğim gibi ioncube, phpkoru gibi kendi kodlarımı şifreleyebileceğim bir sistem yapmak istiyorum.