Przepisy
Konkretne, kompletne instrukcje krok po kroku dla typowych problemów z integracją javascript-obfuscator. Każdy przepis skupia się na tym, jak łączyć opcje, aby osiągnąć określony efekt, a nie na dokumentowaniu pojedynczych flag.
Wybierz przepis odpowiadający problemowi, który chcesz rozwiązać. Z czasem będą pojawiać się kolejne przepisy — jeśli napotkasz scenariusz integracji, który nie został tutaj opisany, daj nam znać, a go opiszemy.
W tej sekcji
Dobre praktyki
Co chronić, czego nie ruszać i czego obfuskacja nie jest w stanie za Ciebie zrobić.
Pobieranie klucza tablicy kodu bajtowego z backendu
Trzymaj klucz deszyfrujący kod bajtowy VM poza klientem, używając asynchronicznego gettera pobierającego go z Twojego backendu podczas ładowania.
Podstawianie szablonów po stronie serwera
Wstrzykuj wartości renderowane na serwerze do kodu JavaScript zobfuskowanego przez VM przy użyciu reservedNames i reservedStrings.
Ukrywanie nazw funkcji przed analizą LLM
Dlaczego kod zobfuskowany przez VM może ujawnić modelowi LLM sensowne nazwy funkcji i jak opakowanie w IIFE usuwa ten wyciek.
Diagnozowanie błędów wykonania VM
Lista kontrolna krok po kroku dla błędów wykonania VM, takich jak „Invalid array length”, pozwalająca odróżnić błędną konfigurację opcji target/self-defending od rzeczywistych błędów.
Unikanie kolizji identyfikatorów
Dlaczego łączenie wielu plików zobfuskowanych przez VM może zgłosić „Identifier already declared” na etapie parsowania i jak temu zaradzić, stosując losowe lub szesnastkowe identyfikatory.
Obfuskacja VM a eval i new Function
Jak obfuskacja VM obsługuje bezpośrednie wywołania eval i konstruktora Function, co trafia do kodu bajtowego, a co jest pomijane, jakie ostrzeżenia zgłasza obfuskator i jak diagnozować błąd ReferenceError w czasie wykonania.
Telemetria i reakcje mechanizmów obronnych VM
Raportuj wykrycia mechanizmów obronnych VM do swojego backendu za pomocą vmDefenseHook i dostosuj reakcję na poszczególne kategorie wykryć przy użyciu vmDefenseReaction.
