• 13-11-2026, 18:22:11
    #1


    PEEL PHP - Tarayıcıda Çalışan Açık Kaynak PHP Deobfuscator
    ionCube - SourceGuardian - Zend Guard EKLENİCEK
    Ücretsiz · MIT lisanslı · Kurulum yok, hesap yok, kodun bilgisayarından çıkmaz


    Merhaba arkadaşlar,

    JavaScript sürümünden sonra PEEL'in PHP sürümünü de tamamen açık kaynak olarak yayınladım. PEEL PHP, gizlenmiş (obfuscate ya da encode edilmiş) PHP kodunu okunur hale getiren bir araç. Kodu yapıştırıyorsun, Çöz tuşuna basıyorsun; temiz kodu ve kodun gerçekte ne yaptığını anlatan bir raporu alıyorsun.

    Sunucuna yüklenmiş şüpheli bir dosyayı incelemek, satın aldığın bir eklentinin ya da temanın içine gömülmüş arka kapıyı bulmak, bir webshell'in ne yaptığını görmek ya da sadece "bu eval(gzinflate(base64_decode(...))) ne iş yapıyor?" sorusuna cevap bulmak için yaptım.


    Önce ve Sonra

    YAK Pro ile goto yumağı, kaçışlı dizgeler ve ad gizleme açılarak gizlenmiş bir kod. PEEL bunu tek tıkla geri çeviriyor; goto akışı yeniden foreach ve while oluyor, anlamsız adlar anlamlı adlar alıyor:



    Neden farklı?

    Çoğu PHP deobfuscator ya sadece kalıp arar (encoder biraz değişince pes eder) ya da dosyayı gerçek bir sunucuda çalıştırmanı ister (tehlikelidir). PEEL üçüncü bir yol izliyor:
    • Kodu gerçek PHP'de, güvenle çalıştırır. PHP 8.3, 7.4 ve 5.2 WebAssembly'ye derlenmiş halde, ayrı bir worker içinde çalışır. Kabuk komutları, ağ bağlantıları, posta ve dosya yazma kaydedilir ama gerçekte yapılmaz. Kod kilitlenirse bekçi motoru yeniden başlatır.
    • Her katmanı yakalar. Her eval, assert, create_function ve preg_replace /e çağrısı kaydedilir; iç içe katmanlar PHP'nin kendisinin çözdüğü haliyle açılır.
    • Kendi yaptığını kontrol eder. Her adımdan sonra kod yeniden çalıştırılır. Çıktı ya da denenen yan etkiler değişirse o adım otomatik geri alınır. Yani "temizledim ama bozdum" durumu yok.
    • Önemli olanı silmez. $_GET, $_POST, çerez ya da istek başlıklarına bağlı kod, sandbox o dala girmedi diye silinmez. Parola korumalı bir webshell'in gizli dalı çıktıda kalır.
    • Kodun ne yaptığını söyler. Tespit edilen encoder ya da webshell ailesi, kanıtlarıyla tehdit puanı, kodun denediği bağlantılar ve komutlar, IOC'ler (URL, IP, e-posta, kripto cüzdanı, Telegram bot token'ı, Discord webhook'u).
    • Hiçbir şey yüklenmez. Sunucu yok, telemetri yok. Durum çubuğu sayfanın yaptığı her dış isteği sayar; kendin kontrol edebilirsin.

    Neleri tanıyor ve çözüyor?
    • Encoder ve obfuscator'lar: YAK Pro, FOPO, PHPkoru, PHP Encoder (Free Code Protection Tool), PHPJiaMi, PHPJM, PHP LockIt!, Byterun Protector
    • Katman zincirleri: eval / assert / create_function / preg_replace /e ile base64, gzinflate, gzuncompress, str_rot13, strrev ve benzerlerinin her türlü kombinasyonu
    • goto yumakları: if / else ve while yapısına geri çevrilir
    • Dizge ve ad tabloları: $GLOBALS tabloları, FOPO tarzı $O{4} . $O[9] birleştirmeleri, hesaplanmış fonksiyon adları
    • Webshell'ler: WSO, FilesMan, c99, r57, b374k, IndoXploit, ALFA TEaM, Weevely, P.A.S., China Chopper
    • Ticari encoder'lar: ionCube, SourceGuardian, Zend Guard ve benzerleri yalnızca tanınır, çözülmez. Raporda ürün, sürüm ve gereken loader gösterilir. Bunları kırmak bilinçli olarak kapsam dışı.
    10 farklı açık kaynak PHP obfuscator'ından 39 örnekle test ediliyor; 39'u da orijinaliyle aynı davranacak şekilde çözülüyor.


    Ekran görüntüleri

    Ana ekran: solda gizlenmiş kod, sağda temiz ve doğrulanmış çıktı


    Analiz raporu: özet, tespit, tehdit puanı, sandbox davranışı, IOC'ler


    Zaman çizelgesi: kodu her adımdan sonra kaydırarak izle


    Telefonda da çalışıyor


    Nasıl kullanılır?

    Node.js 20 veya üstü yeterli:

    git clone https://github.com/LLCForge/Peel-PHP.git
    cd Peel-PHP
    npm install
    npm run dev
    Sonra tarayıcıda http://localhost:5173 adresini aç, kodu yapıştır ya da .php dosyasını sürükle, Çöz tuşuna bas (Ctrl + Enter). İlk çalıştırmada gereken PHP sürümü (WebAssembly) bir kez indirilir. npm run build ile derlenen sürüm bir kez yüklendikten sonra çevrimdışı da çalışır.

    Komut satırından kullanmak istersen:

    node bin/peel-php.js gizli.php -o temiz.php --report rapor.json
    Bütün bir klasörü (ör. uploads/) tarayıp hepsini çözme ve tehdit düzeyine göre uyarı verme de var:

    node bin/peel-php.js uploads/ --out-dir cikti --report cikti/rapor.json --fail-on high
    Dürüst olmak gerekirse
    • Katmanlar sandbox'ın gözlemlediği çalıştırmadan açılır. O çalıştırmanın girmediği bir dalın arkasındaki katman olduğu gibi kalır.
    • Doğru parola gelmeden hiçbir şey yapmayan bir webshell daha zayıf bir davranış kontrolünden geçer.
    • Yalnızca PHP 8.3, 7.4 ve 5.2 pakette var; sadece başka bir sürümde çalışan kod uyarı verebilir.
    • Tarayıcıdaki ilk çalıştırma sürüm başına yaklaşık 10-18 MB indirir.
    Çözemediği bir örnekle karşılaşırsanız GitHub'da issue açarsanız ya da buraya yazarsanız bakarım. Örneği paylaşırken kişisel bilgileri ve şifreleri çıkarmayı unutmayın.


    Bağlantı
    github.com/LLCForge/Peel-PHP

    PEEL ailesinin diğer üyeleri
    JavaScript: github.com/LLCForge/Peel-JS
    Python: github.com/LLCForge/Peel-PY
    Node.js: github.com/LLCForge/Peel-NODE
    Lua ve Luau: github.com/LLCForge/Peel-Lua

    Projeyi beğendiyseniz GitHub'da yıldız vermeniz çok yardımcı olur.
    Görüş, öneri ve hata bildirimlerinizi bekliyorum.
  • Dün, 11:22:17
    #2
    Agentic Engineer
    Kodu sunucuya göndermeden tarayıcıda çözmesi güzel düşünülmüş hocam, PHP'yi WebAssembly ile sandbox'ta çalıştırıp yan etkileri gerçekten yapmaması güvenlik işi için birebir. Webshell raporundaki IOC detayı da işi kolaylaştırır, eline sağlık
  • Dün, 18:47:49
    #3
    SSilistre.dev adlı üyeden alıntı: mesajı görüntüle
    Kodu sunucuya göndermeden tarayıcıda çözmesi güzel düşünülmüş hocam, PHP'yi WebAssembly ile sandbox'ta çalıştırıp yan etkileri gerçekten yapmaması güvenlik işi için birebir. Webshell raporundaki IOC detayı da işi kolaylaştırır, eline sağlık

    Teşekkürler hocam, motivasyon oldu 🙏 Peel Suite’in tüm kolları aktif, belki işine yarar:

    🔓 Peel Suite

    Peel-JS — JavaScript deobfuscator
    Peel-PY — Python deobfuscator
    Peel-NODE — Node.js deobfuscator
    Peel-PHP — PHP deobfuscator
    Peel-NET — .NET deobfuscator
    Peel-WASM — WebAssembly deobfuscator
    Peel-Lua — Lua & Luau deobfuscator
    Peel-Shell — Shell script deobfuscator
    Veneer — Tarayıcı NoDetect Fingerprint üretimi

    PHP tarafına yakında IonCube (tüm sürümler), Zend Guard ve SourceGuardian desteği de geliyor. Görüşün için sağ ol! 🙂