Pular para o conteúdo
Aback Tools Logo

Desofuscador de nomes de variáveis JavaScript

Analise nomes ofuscados de variáveis, funções e classes em código JavaScript e obtenha sugestões de nomes significativas com base no contexto de utilização. Cole o seu código, reveja as sugestões com os respetivos níveis de confiança, edite-as ou aceite-as, crie um mapa de renomeação e pré-visualize o código desofuscado — tudo grátis, privado e sem registo.

JavaScript Variable Name Deobfuscator

Paste JavaScript code with obfuscated variable names (a, b, _0x, etc.) and get meaningful name suggestions based on usage context. Edit suggestions, build a rename mapping, and preview the deobfuscated code.

Live analysis — results update as you type

Detected Obfuscated Identifiers (15)

e×4High confidence
length
c) { var d = []; for (var e = 0; e < b.length; e++) { ... var d = []; for (var e = 0; e < b.length; e++) { var f ... for (var e = 0; e < b.length; e++) { var f = b[e]; if
i×4High confidence
length
a) { let r = []; for (let i = 0; i < data.length; i++) { ... let r = []; for (let i = 0; i < data.length; i++) { let ... (let i = 0; i < data.length; i++) { let v = data[i];
v×4High confidence
length
< data.length; i++) { let v = data[i]; if (v.status = ... let v = data[i]; if (v.status === 'active') { ... active') { r.push({ id: v.id, val: v.amount * 1.1 });
b×3High confidence
length
function a(b, c) { var d = []; for (va ... d = []; for (var e = 0; e < b.length; e++) { var f = b[ ... b.length; e++) { var f = b[e]; if (f > 10) { d
d×3Medium confidence
first
function a(b, c) { var d = []; for (var e = 0; e < b ... b[e]; if (f > 10) { d.push(f * 2); } } retu ... sh(f * 2); } } return d; } function _0x42(x, y) {
f×3High confidence
length
e < b.length; e++) { var f = b[e]; if (f > 10) { ... ) { var f = b[e]; if (f > 10) { d.push(f * 2); ... if (f > 10) { d.push(f * 2); } } return d; }
data×3Medium confidence
length
urn z * 1.5; } function proc(data) { let r = []; for (let i ... r = []; for (let i = 0; i < data.length; i++) { let v = da ... ta.length; i++) { let v = data[i]; if (v.status === 'act
r×3High confidence
id
function proc(data) { let r = []; for (let i = 0; i < d ... .status === 'active') { r.push({ id: v.id, val: v.amoun ... * 1.1 }); } } return r; }
x×2Medium confidence
first
return d; } function _0x42(x, y) { const z = x + y; re ... ion _0x42(x, y) { const z = x + y; return z * 1.5; } fun
y×2Medium confidence
first
eturn d; } function _0x42(x, y) { const z = x + y; retur ... _0x42(x, y) { const z = x + y; return z * 1.5; } functio
z×2Medium confidence
data
unction _0x42(x, y) { const z = x + y; return z * 1.5; } ... { const z = x + y; return z * 1.5; } function proc(data)
a×1Medium confidence
accumulator
function a(b, c) { var d = []; for (
c×1Medium confidence
config
function a(b, c) { var d = []; for (var e
_0x42×1Low confidence
hexString__0x
} } return d; } function _0x42(x, y) { const z = x + y;
id×1High confidence
id
== 'active') { r.push({ id: v.id, val: v.amount * 1.1 })

Manual Rename

→

Add custom mappings for variables the detector may have missed.

Privacy Guarantee

All analysis runs entirely in your browser. Your code never leaves your device — no uploads, no API calls, no tracking.

Recursos

  • Deteção automática de nomes ofuscados: analisa o seu código à procura de nomes curtos (a, b, i, j), identificadores com prefixo hexadecimal (_0x...), variáveis só com underscores e outros padrões comuns em JavaScript minificado e ofuscado.
  • Sugestões de nomes contextuais: cada variável detetada é analisada no seu contexto de utilização — palavras-chave próximas como count, user, id, error e result determinam o nome significativo sugerido e o respetivo nível de confiança.
  • Fluxo interativo de renomeação: aceite, edite ou substitua as sugestões de cada identificador. Crie uma tabela completa de mapeamento de renomeação com os nomes original → desofuscado, sem necessidade de pesquisas manuais.
  • Pré-visualização do código desofuscado: depois de mapear as variáveis, pré-visualize o código com todos os nomes originais substituídos pelos nomes desofuscados que escolher. Copie o código transformado ou descarregue o mapeamento em JSON.

O que é a desofuscação de nomes de variáveis?

A desofuscação de nomes de variáveis é o processo de substituir nomes de identificadores curtos, sem significado ou codificados em código JavaScript por nomes significativos e descritivos que transmitam o seu propósito. Nomes ofuscados como a, _0x42 ou ____ são substituídos por sugestões como userCount, apiToken ou resultData, consoante a forma como são usados.

Como funciona o desofuscador

A ferramenta analisa o seu código JavaScript para extrair todos os tokens com forma de identificador. Descarta as palavras-chave de JavaScript, os nomes da biblioteca padrão e as cadeias de acesso a propriedades. Cada identificador restante é pontuado pela probabilidade de estar ofuscado — comprimento curto, prefixos hexadecimais, padrões só com underscores e nomes não descritivos obtêm as pontuações mais altas. É analisada uma janela de contexto em torno de cada utilização: palavras-chave próximas (por exemplo, «count» sugere um contador, «user» sugere um objeto de utilizador) determinam a substituição sugerida.

Níveis de confiança

Cada sugestão inclui uma classificação de confiança alta, média ou baixa. Confiança alta significa que o contexto próximo contém uma correspondência de palavra-chave forte e inequívoca. Média significa uma correspondência parcial ou indireta. Baixa significa que o nome parece ofuscado, mas o contexto dá poucas pistas — estas sugestões são estimativas baseadas em convenções comuns.

Privacidade e limitações

Este desofuscador funciona inteiramente no seu navegador. O seu código nunca sai do seu dispositivo. Foi concebido para análise de um único ficheiro e funciona melhor com JavaScript autónomo. Para desofuscação de nível profissional em vários ficheiros, considere uma ferramenta de ambiente de trabalho dedicada como o de4js ou a reconstrução de source maps. A ferramenta analisa apenas nomes de identificadores e padrões de utilização — não segue o estado em tempo de execução nem o fluxo de dados.

Perguntas frequentes

A desofuscação de nomes de variáveis em JavaScript substitui nomes de identificadores curtos, sem significado ou codificados (como a, b, _0x42f3) por nomes descritivos (como userName, totalCount, apiResponse) com base na forma como essas variáveis são usadas no código. Assim o código ofuscado torna-se muito mais fácil de ler e compreender, sem alterar o seu comportamento.

A ferramenta percorre o seu código à procura de tokens com forma de identificador e descarta as palavras-chave de JavaScript e os nomes da biblioteca padrão. Sinaliza nomes muito curtos (1-2 caracteres), os que usam padrões hexadecimais (_0x...), os formados apenas por underscores ou os que contêm sinais de dólar — todos comuns em JavaScript minificado e ofuscado. Cada correspondência é depois analisada no seu contexto para gerar uma sugestão significativa.

A precisão depende de quanta informação fornece o contexto do código. Quando uma variável é usada junto a palavras-chave claras como «count», «user» ou «error», a sugestão é marcada com confiança alta. Em contextos menos óbvios, as sugestões são classificadas como média ou baixa. Verifique sempre as sugestões antes de as usar — a ferramenta dá um ponto de partida, não uma garantia de acerto.

Sim. Cada identificador detetado mostra um botão «Editar» junto ao nome sugerido. Clique nele para escrever o seu próprio nome e depois em «Guardar» para o adicionar ao mapa de renomeação. Assim tem controlo total sobre o resultado desofuscado, beneficiando da análise automática da ferramenta.

Sim. Depois de renomear variáveis, a tabela de mapeamento mostra todos os pares original → desofuscado. Clique em «Descarregar JSON» para guardar o mapeamento num ficheiro .json. É útil para documentação, revisão de código ou para aplicar a mesma renomeação em vários ficheiros.

Não. Toda a análise e renomeação acontece apenas na sua sessão do navegador. A pré-visualização do código desofuscado mostra como o código ficaria com os seus mapeamentos aplicados, mas nada é escrito em disco nem transmitido para nenhum lado. Copie manualmente o código transformado se quiser guardá-lo.

Absolutamente. O desofuscador de nomes de variáveis JavaScript funciona 100% no seu navegador. O seu código nunca é carregado para nenhum servidor, guardado em nenhuma base de dados nem transmitido pela rede. Toda a análise sintática, o processamento e a lógica de sugestões são executados localmente no seu dispositivo, para privacidade e segurança completas.

Sim — 100% grátis, sem registo, sem conta e sem limites de utilização. Analise tantos excertos de código quantos precisar, renomeie tantas variáveis quantas quiser e descarregue os seus mapeamentos — grátis para sempre, sem cobranças ocultas nem níveis premium.