\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82 csarite.com
KUJUNTI.ID MINISH3LL
Path : /var/www/html/yedekledb24/DatabaseBackupMasterv5/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv5/update_encryption_utils.py


#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
yedekleDB24 için şifreleme yardımcı fonksiyonlarını güncelleyen script.
Python-GnuPG sürüm uyumsuzluklarını düzeltir.
"""

import os
import sys
import logging
import shutil

# Logging yapılandırması
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

def update_encryption_utils():
    """
    encryption_utils.py dosyasını günceller, farklı GPG kütüphane sürümleriyle uyumlu hale getirir.
    """
    # Önce orijinal dosyayı yedekle
    orig_file = 'encryption_utils.py'
    backup_file = 'encryption_utils.py.bak'
    
    if not os.path.exists(orig_file):
        logger.error(f"{orig_file} dosyası bulunamadı.")
        return False
    
    # Dosyayı yedekle
    try:
        shutil.copy2(orig_file, backup_file)
        logger.info(f"Orijinal dosya yedeklendi: {backup_file}")
    except Exception as e:
        logger.error(f"Dosya yedekleme hatası: {str(e)}")
        return False
    
    # Dosyayı okuyup güncelleyeceğimiz satırları belirle
    replacements = [
        (
            "        # GnuPG nesnesi oluştur\n        gpg = gnupg.GPG(gnupghome=gpg_home)",
            """        # GnuPG nesnesi oluştur - farklı sürümlere uyumlu
        try:
            # Yeni sürümlerde gpgbinary parametresi kullanılıyor
            gpg = gnupg.GPG(gpgbinary='gpg', gnupghome=gpg_home)
        except TypeError:
            # Eski sürümlerde gnupghome parametresi yok, dizini manuel ayarla
            os.environ['GNUPGHOME'] = gpg_home
            gpg = gnupg.GPG(gpgbinary='gpg')"""
        ),
        (
            "        # GnuPG nesnesi\n        gpg = gnupg.GPG(gnupghome=gpg_home)",
            """        # GnuPG nesnesi - farklı sürümlere uyumlu
        try:
            # Yeni sürümlerde gpgbinary parametresi kullanılıyor
            gpg = gnupg.GPG(gpgbinary='gpg', gnupghome=gpg_home)
        except TypeError:
            # Eski sürümlerde gnupghome parametresi yok, dizini manuel ayarla
            os.environ['GNUPGHOME'] = gpg_home
            gpg = gnupg.GPG(gpgbinary='gpg')"""
        )
    ]
    
    try:
        # Dosya içeriğini oku
        with open(orig_file, 'r', encoding='utf-8') as f:
            content = f.read()
        
        # Değişiklikleri uygula
        new_content = content
        for old_text, new_text in replacements:
            new_content = new_content.replace(old_text, new_text)
        
        # Değişiklik yoksa uyarı ver
        if new_content == content:
            logger.warning("Yapılacak değişiklik bulunamadı veya dosya zaten güncellenmiş.")
            return True
        
        # Değişiklikleri kaydet
        with open(orig_file, 'w', encoding='utf-8') as f:
            f.write(new_content)
        
        logger.info("encryption_utils.py dosyası başarıyla güncellendi.")
        return True
        
    except Exception as e:
        logger.error(f"Dosya güncelleme hatası: {str(e)}")
        # Hata durumunda yedeği geri yükle
        try:
            shutil.copy2(backup_file, orig_file)
            logger.info("Hata nedeniyle yedek dosya geri yüklendi.")
        except:
            logger.error("Yedek dosya geri yüklenemedi!")
        return False

def main():
    """Ana fonksiyon"""
    print("yedekleDB24 için şifreleme yardımcı fonksiyonlarını güncelleme aracı")
    print("---------------------------------------------------------------")
    
    # encryption_utils.py güncelle
    if update_encryption_utils():
        print("✓ encryption_utils.py başarıyla güncellendi.")
        return 0
    else:
        print("✗ Güncelleme sırasında hata oluştu.")
        return 1

if __name__ == "__main__":
    sys.exit(main())

© KUJUNTI.ID