Dokümantasyon
/
VM Obfuscation
/

VM Self Defending

VM Self Defending

Pro
v6.2.0+

İzle

Obfuscator.io Advanced Defenses: Self-Defending, Debug Protection, Domain Lock

YouTube'da izle

vmSelfDefending seçeneği VM çalışma zamanına çok katmanlı kurcalama tespiti, kod bütünlüğü denetimleri, hook karşıtı koruma ve tersine mühendislik karşıtı koruma ekler. vmDebugProtection ile birlikte kullanıldığında hem elle yapılan hem de yapay zekâ destekli analizleri önemli ölçüde zorlaştırır.

Bu seçenek vmBytecodeArrayEncoding seçeneğini zorla etkinleştirir ve VM yürütmesine ek yük getirir. Bunu kendi sık çalışan kod yollarınızda ölçün.

Her tespitin nasıl tepki verdiği - ve tespitleri yalnızca kodu bozmak yerine arka ucunuza nasıl bildireceğiniz - VM Savunma Telemetrisi ve Tepkileri sayfasında ele alınır; vmSelfDefending, tespitleri automation, debugger, tamper ve integrity tepki kategorilerinde yayar.

Önerilen: En yüksek koruma için vmDebugProtection, vmBytecodeArrayEncodingKey ve vmBytecodeArrayEncodingKeyGetter ile birlikte kullanın.

Çalışma ortamı uyumluluğu

Hassas ortam tespiti

Bu seçenek obfuscate edilmiş kodu hedef çalışma ortamına bağlar ve otomasyon araçlarını tespit etmek için gelişmiş tarayıcı parmak izi tekniklerini kullanır. Bu seçenekle korunan kod, aşağıdaki ortamlarda çalıştırıldığında kasıtlı olarak bozulur:

  • Headless tarayıcılar (headless Chrome/Chromium, PhantomJS)
  • Tarayıcı otomasyon araçları (Puppeteer, Playwright, Cypress, Selenium/ChromeDriver, Nightmare)
  • Node.js (target değeri browser olarak ayarlandığında)
  • jsdom veya benzeri sunucu tarafı DOM emülasyonları
  • Yerel tarayıcı yerleşiklerinin hook edildiği veya değiştirildiği ortamlar (browserEnvironment.hookedBuiltins ile bildirilmedikçe)

Kod, iframe'lerin, tarayıcı uzantılarının (content script'ler) ve Web Worker'ların içinde yüklendiği durumlar dahil olmak üzere normal tarayıcılarda (Chrome, Firefox, Safari, Edge) doğru şekilde çalışır.

target seçeneğini gerçek çalışma ortamına göre seçin. Tarayıcı ve Node derlemeleri farklı savunmalar içerir: node hedefi yalnızca tarayıcıda bulunan API'lere dayanan savunmaları çıkarır ve Node altında çalıştırılan bir browser derlemesi yukarıda listelendiği gibi bozulur.

browserEnvironment.hookedBuiltins değeri true olarak ayarlandığında (v7.15.0+), Self Defending yerel yerleşikleri meşru biçimde JavaScript sarmalayıcılarıyla değiştiren bir çalışma ortamını kurcalama olarak ele almak yerine tolere eder; böylece korunan kod orada da çalışır. Bu, yerleşik hook tespitini kasıtlı olarak gevşetir; VM sanallaştırması, hata ayıklama karşıtı ve bütünlük korumaları bundan etkilenmez. Aynı seçeneğin transport alanı, derlemeyi sunulduğu şemaya bağlar.

Self Defending kendi çıktısının bütünlüğünü denetler; bu nedenle obfuscate edilmiş kodu sonrasında küçültmeyin, biçimlendirmeyin veya başka bir şekilde yeniden yazmayın. Bu araçları obfuscation adımından önce kaynak kodunuz üzerinde çalıştırın.

Test ve CI

Bu savunmalar kendi ajanlarınıza, otomasyonunuza ve hata ayıklayıcılarınıza karşı da devreye girer. Yürütmeyi durdurabilir, ilgisiz hatalar fırlatabilir veya yanlış sonuçlar üretebilirler. Bu seçenek otomatik analizi önlemek için tasarlanmıştır ve hiçbir otomasyon çerçevesiyle güvenli biçimde kullanılamaz; bu nedenle işlevsel testleri vmSelfDefending devre dışı bırakılmış ayrı bir test derlemesine karşı çalıştırın. O derleme için geçersiz kılmaların tam listesi Test ve CI sayfasındadır.