Ricette
Guide end-to-end e ragionate per i problemi di integrazione più comuni di javascript-obfuscator. Ogni ricetta si concentra su come combinare le opzioni per ottenere un risultato specifico, anziché documentare i singoli flag.
Selezionare la ricetta corrispondente al problema da risolvere. Nel tempo ne verranno aggiunte altre: se si incontra uno scenario di integrazione non ancora trattato, è possibile segnalarlo e verrà documentato.
In questa sezione
Best practice
Che cosa proteggere, che cosa lasciare invariato e che cosa l'offuscamento non può fare.
Recuperare la chiave del bytecode array dal backend
Mantenere la chiave di decrittazione del bytecode VM fuori dal client con un key getter asincrono che la recupera dal backend al momento del caricamento.
Sostituzione di template lato host
Inserire valori generati dal server nel JavaScript offuscato con VM utilizzando reservedNames e reservedStrings.
Nascondere i nomi delle funzioni all'analisi degli LLM
Perché il codice offuscato con VM può esporre a un LLM nomi di funzioni significativi e come un wrapper IIFE elimina il problema.
Diagnosticare gli errori di runtime della VM
Checklist passo per passo per gli errori di runtime della VM come "Invalid array length", per distinguere una configurazione errata di target o self-defending dai bug reali.
Evitare le collisioni di identificatori
Perché il bundling di più file offuscati con VM può generare "Identifier already declared" in fase di parsing e come risolvere il problema con identificatori casuali o esadecimali.
Offuscamento VM con eval e new Function
Come l'offuscamento VM gestisce eval diretto e le chiamate al costruttore Function, che cosa viene convertito in bytecode e che cosa viene ignorato, quali avvisi emette l'offuscatore e come diagnosticare i ReferenceError a runtime.
Telemetria e reazioni delle difese VM
Segnalare al proprio backend i rilevamenti delle difese VM con vmDefenseHook e regolare la reazione di ogni categoria di rilevamento con vmDefenseReaction.
