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.