Getting Started
Obfuscator.io, okunabilir kaynak kodunuzu anlaşılması ve tersine mühendisliği zor, korunan bir sürüme dönüştürür. Özel algoritmaları, lisanslama mantığını ve iş açısından kritik kodu korumak için idealdir.
Obfuscator.io'ya Hoş Geldiniz
Bu kılavuz, ilk dosyanızı obfuscate etme, bir hazır ayar seçme ve seçenekler panelini anlama adımlarında size yol gösterir. Daha ayrıntılı bilgi için VM Obfuscation, Temel Obfuscation ve En İyi Uygulamalar bölümlerine bakın.
Hızlı Başlangıç
1. Kodunuzu yapıştırın
JavaScript kodunuzu sol düzenleyici paneline girin. Kodu doğrudan yapıştırabilir veya toplu işlem için dosya yükleme özelliğini kullanabilirsiniz.
2. Bir hazır ayar seçin
Seçenekler panelindeki açılır menüden bir hazır ayar seçin. Minimum değişiklik için
Low Obfuscationile veya dengeli koruma içinMedium Obfuscationile başlayın. VM hazır ayarları en güçlü güvenliği sağlar.3. "Obfuscate" düğmesine tıklayın
Kodunuzu dönüştürmek için Obfuscate düğmesine basın. Korunan çıktı sağ panelde görünür.
4. Kopyalayın veya indirin
Obfuscate edilmiş kodunuzu almak için Copy düğmesini veya Download'ı kullanın. Çıktı, üretimde kullanıma hazırdır.
Kod Uyumluluğu Önemli
Obfuscation (hem VM hem de VM olmayan), kodunuzu belirli JavaScript çalışma zamanı davranışlarını etkileyen biçimlerde dönüştürür. Kodunuz şu özelliklere bağımlı olmamalıdır:
function.toString()/class.toString()Obfuscation, kaynak kodu temsilini tamamen değiştirir. Fonksiyon kaynağını ayrıştıran veya karşılaştıran kod bozulur.
function.name/class.nameFonksiyon ve sınıf adları rastgele tanımlayıcılara yeniden adlandırılır. Günlük kaydı, serileştirme veya yansıma için
.namedeğerine dayanan kod, obfuscate edilmiş adlar alır.
// Before obfuscation
function calculatePrice() { return 100; }
console.log(calculatePrice.name); // "calculatePrice"
console.log(calculatePrice.toString()); // "function calculatePrice() { return 100; }"
// After obfuscation
console.log(calculatePrice.name); // "_0x1a2b3c" (random)
console.log(calculatePrice.toString()); // Completely transformed code
Temel Seçenekler
Obfuscate etmeden önce, hedef ortamınıza uyacak şekilde bu temel seçenekleri yapılandırın.
Target target
Obfuscate edilmiş kodun yürütme ortamını belirtir:
browser(varsayılan) - standart web sayfası ortamı. Çıktı kodunodeile aynıdır, ancak bazı tarayıcıya özel seçeneklernodehedefiyle kullanılamaz.browser-no-eval-browserile aynıdır, ancak çıktıeval()kullanmaz. Hedef sayfanıneval/unsafe-evalyasaklayan bir Content Security Policy'si olduğunda kullanın.node- Node.js ortamı. Tarayıcıya özel seçenekler devre dışıdır (window/documentgerektirirler ve Node'da işlevsiz olur veya hata verirler). Yalnızca tarayıcıya özgü API'lere dayanan bazıvmSelfDefendingsavunmaları - headless tarayıcı tespiti, iframe tabanlı temiz-realm kurtarma, denetleyici karşıtı/DOM kontrolleri - bu hedef için yayınlanmaz.service-worker- Service Worker bağlamı.windowyok,documentyok, farklı birselfglobali.userscript- userscript yöneticisi korumalı alanı (örneğin Tampermonkey).vmSelfDefendingsavunmaları buna göre ayarlanır. Obfuscator v6.9.0+ gerektirir.bytenode- bytenode ile.jscolarak derlenecek kod için. Obfuscator v6.13.0+ gerektirir.
Strict Mode strictMode
Obfuscator'ın JavaScript strict mode'u nasıl ele aldığını denetler:
Auto(varsayılan) - Strict mode'u koddan otomatik algıla. Obfuscator, kodunuzu"use strict"yönergeleri için analiz ederEnable-"use strict"bulunup bulunmadığına bakılmaksızın tüm kod için strict mode işlemeyi zorlaDisable- Yalnızca kaynak kodundaki açık"use strict"yönergeleri strict mode olarak ele alınır
Hazır Ayarları Anlamak
Hazır ayarlar, önceden yapılandırılmış seçenek bileşimleridir. İki ayrı grup vardır:
VM Hazır Ayarları Pro (bayt kodu sanallaştırması)
| Hazır Ayar | Güvenlik | Performans | Özellikler |
|---|---|---|---|
VM Low | İyi | ~10x | Temel VM, dolaylı sevk |
VM Medium | Güçlü | ~12-15x | + Opcode karıştırma, kodlama, tuzaklar |
VM High | Çok Güçlü | ~15-18x | + Ölü kod, durumlu opcode'lar, yığın kodlaması |
VM Ultra High | Maksimum | ~20x+ | + VM olmayan obfuscation katmanları |
Performans rakamları ortalamalardır - gerçek etki büyük ölçüde koda bağlıdır (örneğin özyineleme ağırlıklı veya sık döngü içeren kod belirgin biçimde daha yavaş olur).
VM Olmayan Hazır Ayarlar (standart obfuscation)
| Hazır Ayar | Koruma | Performans | Özellikler |
|---|---|---|---|
Default | Temel | Minimum düzeyde | String array, sadeleştirme |
Low | Hafif | ~1.1x | + Self-defending, konsolu devre dışı bırakma |
Medium | Orta | ~1.5x | + Control flow, ölü kod, base64 |
High | Güçlü | ~2x | + Debug protection, rc4 kodlaması |
Arayüze Genel Bakış
- Girdi Düzenleyicisi - JavaScript kaynak kodunuzu yapıştırın veya yazın. Dosyaları sürükleyip bırakın veya yükleme düğmesini kullanın. Satır içi betikler içeren HTML dosyaları da desteklenir Pro.
- Çıktı Paneli - Obfuscate edilmiş sonucu gösterir. Korunan kodu almak için Copy veya Download düğmelerini kullanın.
- Hazır Ayar Seçici - VM veya VM olmayan hazır ayarları seçin. VM hazır ayarları üstte gruplanır. Hazır ayar, özelleştirebileceğiniz temel seçenekleri belirler.
- Seçenekler Paneli - Obfuscation ayarlarında ince ayar yapın. Dokümantasyonunu görmek için herhangi bir seçeneğin yanındaki
?simgesine tıklayın. - Obfuscate Düğmesi - Seçili seçenekleri kullanarak kodunuzu dönüştürür. VM hazır ayarları sunucu tarafında işlenir; VM olmayan hazır ayarlar tarayıcınızda çalışır.
- Çoklu Dosya Yükleme Pro - Birden fazla dosyayı aynı anda işleyin ve ZIP olarak indirin.
- Geçmiş Paneli Pro - Önceki obfuscation'larınıza erişin ve girdi/çıktıyı geri yükleyin.
