Obfuskacja VM
Obfuskacja VM przekształca funkcje JavaScript w niestandardowy kod bajtowy wykonywany przez maszynę wirtualną osadzoną w wyniku, dzięki czemu chroniona logika nie jest już dostarczana jako czytelny JavaScript.
Ochrona VM obejmuje kwalifikujące się funkcje. W trybie root opcja vmWrapTopLevelInitializers może również opakować kwalifikujące się inicjalizatory, aby poddać je wirtualizacji; obecne presety VM ją włączają. Sprawdzaj ostrzeżenia o pokryciu, takie jak VMNoFunctionsToVirtualize, i używaj trybu komentarzy, aby jawnie wskazać wrażliwe funkcje.
Obfuskacja podnosi koszt inżynierii wstecznej, ale nie czyni jej niemożliwą, dlatego sekrety i wiążące decyzje dotyczące bezpieczeństwa trzymaj na serwerze - co obfuskacja może, a czego nie może zagwarantować, opisuje strona Dobre praktyki.
Potrzebujesz pomocy? Jeśli obfuskacja VM działa nieprawidłowo, strona Diagnozowanie błędów wykonania VM opisuje, jak zawęzić problem i wysłać zgłoszenie błędu.
W tej sekcji
Zgodność środowiska
Dopasuj build do miejsca, w którym działa: opcja Target, zabezpieczenia wykonania i to, co musi zachować pipeline builda.
Jak VM przekształca kod
Co VM pozostawia widoczne, a co ukrywa, oraz jak chronić nazwy funkcji.
Wskazywanie konkretnych funkcji
Obejmuj obfuskacją VM tylko wrażliwe funkcje, aby zachować optymalną wydajność.
Register-Based VM
Przełącza VM na rejestrowy model wykonania - szybsze działanie kosztem nieco większego pakietu.
Async Executor
Uruchamiaj VM asynchronicznie, aby klucz deszyfrujący kod bajtowy mógł być pobierany w czasie wykonania zamiast trafiać do bundle'a.
Zgodność z trybem strict
Zadeklaruj tryb strict, aby VM skompilowała poprawny kod bajtowy.
Zachowanie bezpośredniego eval
Dlaczego bezpośrednie wywołanie eval() wyłącza obfuskację VM i jak uniknąć tej pułapki.
VM Self Defending
Wykrywanie manipulacji, kontrola integralności kodu oraz ochrona przed hookowaniem dla środowiska uruchomieniowego VM.
VM Debug Protection
Zabezpieczenia przed debugowaniem dla kodu chronionego przez VM.
VM Domain Lock
Ogranicz działanie zobfuskowanego kodu VM do wskazanych domen i subdomen.
Browser Environment
Zadeklaruj, jak serwowany jest produkcyjny build, aby chroniony kod mógł związać z nim swoją integralność.
