JavaScript Deobfuscator

Gizlenmiş bir JavaScript parçasını yapıştırın, heks kodlu karakter dizileri, tek harfli değişken adları ve üstte bir çözleyici döngüsü, araç bu yapıyı katman katman analiz eder: karakter dizilerini düzeltir, arama dizisini içe yerleştirir, değişkenleri okunabilir yer tutuculara dönüştürür, basit kaplama yapılarını düzleştirir ve elde edilen sonuçu estetik olarak iyileştirir. Bir sayfadan veya yapıştırılmış Pastebin linkinden aldığınız şüpheli kod parçalarını analiz etmek için oldukça faydalıdır.

JavaScript kodunun şifresini nasıl çözersiniz

  1. 1

    Kodlanmış kaynakı yapıştırın

    `javascript-obfuscator.io` tarzı araçlardan elde edilen minifikasiyonlu, paketlenmiş veya çıktı verisi.

  2. 2

    Analizatörün bu yolunu izlemesine izin verin.

    Sıralı diziler çözülmekte, sayısal diziler değerlendirilmekte ve işlevsiz kod dalları silinmektedir.

  3. 3

    Yeni Adını Uygula

    Tek harfli `a`/`b`/`c` değişkenleri `var1`, `var2` vb. gibi adlara değiştirilir; bu adlar okunabilir yer tutuculardır ve mutlaka anlamlı olmayabilir.

  4. 4

    Güzelleştir

    Karakterleri ayırt edin, yeni satırlar ekleyin ve gerçekten okuyabileceğiniz ve üzerinde düşünebileceğiniz kodu çıkarın.

Deobfuscatörun tersine çevirdiği teknikler

Şeffaflaştırma Tersine çevirmek
Altı basamaklı kodlanmış karakter dizisi literalleri \x48\x69'i "Hi"'e dönüştürün
Unicode ile kodlanmış tanımlayıcılar \u006E\u0061\u006D\u0065 -> name
Dizi dizisi + çözücü fonksiyonu Dizi dizisini içsel olarak düzenleyin ve analiz sırasında çözücüyü çağırın
Sayısal sabit katlama 0x1F3 + 5 -> 504
eval(...) Kapsüller İç kodu üst seviyeye taşın
Kontrol akışı düzleştirme (durum makinesi) Switch-case elemanını tespit edip akışını yeniden oluşturun
Geçmiş kodlar / faydasız üçlü komutlar Hiç çalışmayan dalları kaldırın
_0x1a2b3c() stil adları Artan var1 ve var2 değerleriyle değiştirin

sınırlamalar: aracı ne yapmaz

  • Orijinal değişken adlarını geri kazanma. userEmail adı a olarak değiştirildiğinde hiçbir araç bu adı yeniden tahmin edemez. Elde ettiğiniz şey okunabilir bir yapıdır, orijinal anlam değil.
  • Özelleştirilmiş sanalizatörleri açın. Ağır yapıdaki ticari gizleme araçları (JScrambler, Obfuscator.io'nun kurumsal seviyeleri), bayt kodunu yorumlayan özel bir sanal makine sunar. Bu araçlara karşı direnmek için manuel ters mühendislik gereklidir.
  • İstediğiniz kodu çalıştırın. Deobfuscator, saf ifadeleri statik olarak değerlendirir; uzaktaki kaynakları yüklemez, DOM öğeleri oluşturmaz veya ağla iletişim kurmaz.

Tipik Kullanım Senaryoları

  • Güvenlik araştırması: E-posta yoluyla gelen veya kompromite edilmiş bir CDN aracılığıyla iletilen şüpheli bir betikin iç yapısını analiz etmek.
  • Kod arkeolojisi: yalnızca küçültülmüş bir kütüphane paketi kalıcı eser olarak bulunan eski kodun geri kazanılması.
  • Öğrenme: bir eğitim düzeyindeki gizleme tekniklerinin aslında nasıl işlediğini anlamak.

Güvenlik ve Etik

Önemli bir sistemde giriş yapmış bir tarayıcı tabında güvenilmez bir JavaScript kodunu asla çalıştırmayın; bu kod cookie'leri okuyabilir, iç API'lere erişebilir ve sistem bilgilerini dışarıya sızdırabilir. Deobfuscator’ın kendisi kaynak kodu metin olarak işler; yapıştırdığınız kodu doğrudan çalıştırmaz.

Yalnızca analiz etme yetkiniz olan kodun şifresini çözün. Lisanslı yazılımları tersine mühendislikle analiz etmek, bulunduğunuz yargı bölgesinde kısıtlanmış olabilir.

Sık Sorulan Sorular

Hayır. Şifreleme giderici aracı userEmail’i _0x1a2b3c olarak yeniden adlandırdığında orijinal ad kaybolur. Şifre çözme aracı okunabilir yer tutucuları (var1, var2) ve doğru yapı sağlar; ancak orijinal anlamsal adları vermez.

Hayır. Kodu bir AST olarak analiz eder ve statik dönüşümleri uygular. Saf ifadeler (örneğin 0x1F3 + 5) özetlenir; ancak ağ, cookie’ler veya DOM’a hiçbir etki yapılmaz.

Evet, ancak bundler çıktıları kasıtlı olarak gizlenmek yerine en az hâle getirilmiştir; sonuç olarak modül kaplayıcıları yeniden eklenen, yalnızca güzelleştirilmiş kod elde edilir. Bağımsız olarak mevcut olan kaynak haritaları ise çok daha uygun adlar sağlar.

Ağır ticari araçlar (Enterprise JScrambler, özel sanal makineler) statik analizle çözülemeyen bir bayt kodu yorumlayıcısı sunar. Bu araç yüzey katmanını tespit edebilse de temel mantık manuel tersine çeviri olmadan şeffaf olmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur