Receitas

Guias completos e com opinião para os problemas mais comuns de integração do javascript-obfuscator. Cada receita mostra como combinar opções para chegar a um resultado específico, em vez de documentar flags isoladas.

Escolha a receita que corresponde ao problema que você está tentando resolver. Novas receitas serão adicionadas com o tempo — se você esbarrou em um cenário de integração que não está coberto aqui, avise a gente que escrevemos sobre ele.

Nesta seção

Boas práticas

O que proteger, o que deixar como está e o que a ofuscação não pode fazer por você.

Substituição de templates no servidor

Injete valores renderizados pelo servidor em JavaScript ofuscado por VM usando reservedNames e reservedStrings.

Chave de codificação do array de bytecode

Forneça sua própria chave de criptografia do bytecode da VM com vmBytecodeArrayEncodingKey e resolva-a em tempo de execução com um getter de chave — do armazenamento do cliente ou obtida do seu backend.

Telemetria e reações das defesas da VM

Reporte as detecções das defesas da VM ao seu backend com vmDefenseHook e ajuste como cada categoria de detecção reage com vmDefenseReaction.

Escondendo nomes de funções da análise por LLM

Por que o código ofuscado por VM pode vazar nomes de funções significativos para uma LLM e como um wrap em IIFE elimina esse vazamento.

Ofuscação VM com eval e new Function

Como a ofuscação VM lida com chamadas de eval direto e do construtor Function, o que vira bytecode e o que é ignorado, os avisos que o ofuscador emite e como diagnosticar ReferenceError em tempo de execução.

Evitando colisões de identificadores

Por que empacotar vários arquivos ofuscados por VM pode gerar "Identifier already declared" no parse, e como resolver com identificadores random ou hexadecimal.

Diagnosticando erros de execução da VM

Checklist passo a passo para erros de execução da VM, como "Invalid array length", separando má configuração de target/self-defending de bugs reais.