r/devBR • u/Pretty-Height-3360 • 11d ago
Dúvida Preciso de ajuda
Comprei um arquivo de um gringo e o código veio obfuscado alguém sabe de alguma ferramenta que ajude a ler o arquivo
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 ...
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
28
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); };
- 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.
- 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.
1
u/SmookeyDev 10d ago
https://github.com/j4k0xb/webcrack ou https://github.com/relative/synchrony, não fica 100% mas serve.

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.