Dokümantasyon
/
VM Obfuscation
/

Browser Environment

Browser Environment

Pro
v7.9.0+

Üretim derlemenizin nasıl sunulduğunu bildirin; böylece korunan kod bütünlüğünü buna bağlayabilir.

İzle

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

YouTube'da izle

browserEnvironment seçeneği, üretim derlemenizin sunulduğu ortama dair bilgileri bildirir; böylece korunan kod kendini bunlara bağlayabilir veya bunlara tepki verebilir. Küçük bir nesnedir ve her alan yalnızca belirli bir korumayla birlikte etkili olur - tek başına seçenek hiçbir şey yapmaz:

JavaScript

transport

Üretim sitenizin paketi sunduğu şema - 'http' veya 'https'. vmSelfDefending ile birlikte etkili olur.

'https' ile bir tersine mühendisin düz HTTP üzerinden sunduğu bir kopya doğru çalışmaz. 'http' ya da ayarlanmamış bir alan böyle bir koruma eklemez.

transport: 'https' olarak bildirilen bir derleme yalnızca gerçekten https: üzerinden sunulduğu yerde doğru çalışır. Diğer her şema onu bozar; bu nedenle bunu ancak üretim derlemenizi yükleyen her bağlam HTTPS olduğunda bildirin. Bunun dışında kalanlar:

  • düz http://, geliştirmedeki http://localhost dahil;
  • file:// - Electron, Cordova ve diğer paketlenmiş uygulamalar;
  • blob: ve about: gömmeleri - about:blank veya srcdoc iframe'i içinde çalışan bir paket.

İstemci tarafındaki bir HTTP→HTTPS yönlendirmesi yine de önce HTTP sayfasını render eder; bu yüzden paket, yönlendirme tamamlanmadan çalışmamalıdır.

hosting

Üretim paketinizin nereden sunulduğu - 'remote' veya 'local'. vmDebugProtection ile birlikte ve yalnızca browser ile browser-no-eval hedeflerinde etkili olur. Obfuscator sürümü 7.14.1 veya üzeri gerektirir.

'remote' ile, yerel bir geliştirme ana bilgisayarından sunulan bir kopya çalışma zamanı ortamı uyuşmazlığı olarak değerlendirilir ve otomasyon savunmaları vmDefenseReaction ile yapılandırıldığı şekilde tepki verir (bkz. VM Savunma Telemetrisi ve Tepkileri). 'local' veya ayarlanmamış bir alan böyle bir koruma eklemez.

hosting: 'remote' bildirilen bir derleme yalnızca uzak bir ana bilgisayardan yüklendiğinde doğru çalışır. Yerel bir geliştirme sunucusundan açılan paket tasarım gereği uyuşmazlık olarak değerlendirilir; bu nedenle bunu yalnızca üretim derlemenizi yükleyen her bağlam uzaktan sunuluyorsa bildirin ve yerel geliştirme, test ve CI için kullandığınız derlemelere eklemeyin.

hookedBuiltins

Üretim derlemenizin çalıştığı çalışma zamanının yerel tarayıcı yerleşiklerini (native builtins) meşru biçimde JavaScript sarmalayıcılarla değiştirdiğini - uygulamanın kendi kurcalama karşıtı mekanizması, barındıran sayfa veya aynı realm'i paylaşan diğer tarayıcı uzantıları - bildirmek için true olarak ayarlayın. vmSelfDefending ile birlikte etkili olur. Obfuscator sürümü 7.15.0 veya üzeri gerektirir.

Self Defending normalde değiştirilmiş bir yerleşiği kurcalama olarak değerlendirir ve derlemenin çalışmasını durdurur. hookedBuiltins: true ile böyle bir ortamı tolere eder ve korunan kod çalışmaya devam eder. false veya ayarlanmamış bir alan katı davranışı korur.

JavaScript

hookedBuiltins yerleşik hook tespitini bilinçli olarak gevşetir: ayarlandığında, kodunuzu incelemek için aynı yerleşikleri sarmalayan bir analist de artık durdurulmaz. VM sanallaştırması, hata ayıklama karşıtı ve bütünlük korumaları etkilenmez. Yalnızca üretim çalışma zamanınızın yerleşikleri hook'ladığı biliniyorsa ve bu daha zayıf güvence kabul edilebilirse etkinleştirin.

Desteklenen hedefler

browserEnvironment yalnızca browser, browser-no-eval ve service-worker hedefleri için geçerlidir. node, userscript ve bytenode için hiçbir etkisi yoktur. hosting daha da dardır: bir service worker'da kabul edilir ancak orada hiçbir şeyi bağlamaz.

Panelde Transport, Hosting ve Hooked Builtins kontrolleri Gelişmiş Savunmalar bölümünde yer alır. Her biri yalnızca eşleştiği koruma açıkken - Transport ve Hooked Builtins için VM Self Defending, Hosting için VM Debug Protection - ve hedef bunu desteklediğinde düzenlenebilir hale gelir.

Gereksinimler

  • transport ve hookedBuiltins vmSelfDefending ile, hosting ise vmDebugProtection ile birlikte etkili olur; aksi halde hiçbiri bir şey yapmaz.
  • Bir browser, browser-no-eval veya service-worker hedefi (hosting için browser veya browser-no-eval).
  • transport için obfuscator sürümü 7.9.0 veya üzeri, hosting için 7.14.1 veya üzeri, hookedBuiltins için 7.15.0 veya üzeri.

Örnek

JavaScript