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.
Sostituzione di template lato host
Inserire valori generati dal server nel JavaScript offuscato con VM utilizzando reservedNames e reservedStrings.
Chiave di codifica dell'array di bytecode
Fornisci la tua chiave di cifratura del bytecode della VM con vmBytecodeArrayEncodingKey e risolvila a runtime tramite un key getter, dallo storage del client o recuperandola dal tuo backend.
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.
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.
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.
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.
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.
