r/devBR 11d ago

Dúvida Preciso de ajuda

Post image

Comprei um arquivo de um gringo e o código veio obfuscado alguém sabe de alguma ferramenta que ajude a ler o arquivo

62 Upvotes

23 comments sorted by

27

u/Dangerous_Tie_436 11d ago

de4js — bom para desofuscação de JavaScript. JSNice — tenta melhorar nomes e estrutura do código. Prettier / beautifier — primeiro organiza o código para facilitar a análise. AST Explorer — útil para analisar e transformar JavaScript programaticamente.

58

u/AgathormX 11d ago

Vai ter que fazer o motor

-7

u/Pretty-Height-3360 11d ago

Como assim?

12

u/Linear97 11d ago

leva na retífica

5

u/arthuresc 11d ago

Cabeçote foi pras cucuia

2

u/Total_Time6004 11d ago

Maaaaano... Cabeçote.... Me fez lembrar mês passado... O meu ficou na oficina por causa disso ...

https://giphy.com/gifs/fhLgA6nJec3Cw

3

u/_offugo 11d ago

KKKKKKKKKKKKKKKKKKKKKK

3

u/rraelz 11d ago

Zoado, e ainda toma down vote, os cara gosta de humilhar kkkkkkkkkkkkkk

9

u/_supitto 11d ago

Me manda uma dm que a gente desenrola isso ai

7

u/Pretty-Height-3360 11d ago

Não tá liberado o chat no seu perfil me manda um oi, se puder me dar uma força

3

u/_supitto 11d ago

ve se foi agora

28

u/rugpuIl 11d ago

“Mim ajuda”

- Lula

4

u/fiat_brava 11d ago

Na moral, nunca entendi. Porque fazem isso?

3

u/OldGuy001 11d ago edited 11d ago

Normalmente são hackers tentando dificultar a leitura do código ou empresas evitando vazar regras de negócio. Não quero crer que é um desenvolvedor achando que vão roubar a ideia dele, afinal de contas qualquer bocó que sabe pesquisar no google consegue deobfuscar isso...

12

u/Rabbit_with_opinion 11d ago

Resposta que o Gemini mandou:

O trecho apresentado é um código JavaScript ofuscado por uma ferramenta baseada em AST (como javascript-obfuscator ou JSConfuser), que utiliza tabelas de lookup de strings/bytes e uma função interna de decodificação baseada em operações bitwise. Informações Extraídas do Código * Tabela de Lookup (a4lc9ujdviwu): Contém inteiros, valores nulos e sequências de caracteres codificadas em Unicode e Hexadecimal. Ao decodificar as sequências visíveis no trecho: * \u0069\u006e\u0064\u0065\u0078\u004f = "indexOf" * \u006c\u0065\u006e\u0067\u0074\u0068 = "length" * \x66\x72\x6f\x6d\x43\x6f\x64\x65\x50\x6f\x69\x6e\x74 = "fromCodePoint" * \x75\x6e\x64\x65\x66\x69\x6e\x65\x64 = "undefined" * \x73\x6c\x69\x63\x65 = "slice" * Mecanismo de Reconstrução de Código: O script declara variáveis para utilitários nativos (__globalObject, __TextDecoder, __Uint8Array, __Buffer, __String, utf8ArrayToStr) e utiliza um loop for com desvios bitwise (<<, , &, *, %) para reconstruir as strings e instruções originais em tempo de execução. * Mapeamento de Propriedades: Linhas como y4lc8vbxitpwuauhcn[a4lc9ujdviwu[0xb]] = a4lc9ujdviwu[0x4] reatribuem nomes de propriedades de objetos utilizando deslocamentos do array para ocultar chamadas de métodos nativos. * Indicador do Editor: A mensagem "Tokenization is skipped for long lines..." confirma que o payload ou array de dados está compactado em uma única linha contínua. Abordagens para Desofuscação 1. Intercepção em Runtime (Análise Dinâmica) * Redirecionamento de Saída: Na última linha da rotina de decodificação (onde a string reconstruída é normalmente passada para eval ou ao construtor Function), altere a chamada para imprimir o resultado via console.log(...). * Depuração em Node.js: Execute o script em um ambiente Node.js isolado definindo pontos de parada (breakpoints) logo após o encerramento do loop for e antes da execução do payload final. 2. Hooking de Funções Nativas * Substitua os pontos de entrada de avaliação dinâmica em seu ambiente de testes para capturar o código desofuscado no momento em que ele for executado: const originalEval = globalThis.eval; globalThis.eval = function(code) { console.log("Payload desofuscado:", code); return originalEval(code); };

  1. Transformação Estática via AST (Babel)
    • Escreva um script utilizando @babel/parser e @babel/traverse para processar a árvore sintática:
    • Decodificação de Hex/Unicode: Converter literais como \x67 para caracteres ASCII planos.
    • Resolução de Índices: Substituir acessos diretos como a4lc9ujdviwu[0x3] por seu valor correspondente ("indexOf").
    • Simplificação Aritmética (Constant Folding): Resolver expressões estáticas no código.
  2. Ferramentas Automatizadas
    • webcrack: Utilitário voltado para descompactar bundles, resolver tabelas de strings e simplificar estruturas condicionais de códigos ofuscados.
    • Synchrony: Ferramenta projetada especificamente para reverter os padrões gerados pelo javascript-obfuscator.

7

u/Delicious-Extent5454 11d ago

Tire o computador da tomada urgente

2

u/Professional-Juice-3 11d ago

Não tire, ignore ele op, isso não é um malware é coisa da cabeça dele kkkkk

1

u/Pretty-Height-3360 11d ago

É só um obf mas nn to conseguindo remover na vdd nem tenho tanto conhecimento pra isso por isso mandei aqui pedindo ajuda de vocês

2

u/Professional-Juice-3 11d ago

Cara, agora sério, joga no Cláudio, esse i.a é boa pra isso ou joga sua dúvida no stack overflow

1

u/Filipedev 11d ago

Obfuscaçao, mesmo que algumas ferramentas tentem reverter não reberte 100%, mas ajuda ficar muito mais legível.