Dokümantasyon
/
VM Obfuscation
/

Browser Environment

Browser Environment

Pro
v7.9.0+

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

browserEnvironment seçeneği, üretim yapınızın 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:

browserEnvironment: { transport: 'https', hosting: 'remote' }

transport

Üretim ortamınızın 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.

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.0 veya üzeri gerektirir.

'remote' ile, bir tersine mühendisin alıp kendi yerel ortamında çalıştırdığı kopya çalışma zamanı ortamı uyuşmazlığı olarak değerlendirilir ve otomasyon savunmaları vmDefenseReaction ile yapılandırıldığı şekilde tepki verir. 'local' veya ayarlanmamış bir alan böyle bir koruma eklemez.

Desteklenen hedefler

browserEnvironment yalnızca browser, browser-no-eval ve service-worker hedefleri için geçerlidir. node, userscript ve bytenode için seçenek reddedilir — obfuscation, ayarı sessizce atmak yerine bir doğrulama hatasıyla başarısız olur. hosting daha da dardır: bir service worker'da kabul edilir ancak orada hiçbir şeyi bağlamaz.

Gereksinimler

  • transport vmSelfDefending ile, hosting ise vmDebugProtection ile birlikte etkili olur; aksi hâlde ikisi de hiç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.0 veya üzeri.

Örnek

JavaScriptObfuscator.obfuscate(code, {
    vmObfuscation: true,
    vmSelfDefending: true,
    vmDebugProtection: true,
    target: 'browser',
    browserEnvironment: { transport: 'https', hosting: 'remote' }
});