Desofuscador e desempacotador de Ruby
Detecte e reverta automaticamente a ofuscacao de Ruby. Identifica strings codificadas com Base64.decode64() e Base64.strict_decode64(), decodificacao Base64 com .unpack("m"), padroes de cifra XOR, chamadas de envio dinamico send(), definicoes em tempo de execucao define_method, eval() aninhado com desempacotamento recursivo e strings empacotadas em hex via .pack("H*"). Cada deteccao inclui pontuacao de confianca, numeros de linha de origem e contexto do codigo ao redor. Gratis, privado e sem cadastro.
Detect and reverse Ruby obfuscation techniques. Automatically identifies Base64 eval, .unpack("m"), XOR cipher patterns, send() dynamic dispatch, define_method, nested eval, and hex-packed strings with confidence ratings and source context.
Paste Ruby code above and click Analyze Ruby Codeto detect obfuscation patterns. The tool identifies Base64 eval, .unpack("m"), XOR cipher patterns, send() dispatch, define_method, nested eval, and hex-packed strings. Try loading an example to see how it works!
Recursos
- 7 detectores de padroes de ofuscacao Ruby: detecta automaticamente strings codificadas com Base64.decode64() e Base64.strict_decode64(), decodificacao Base64 com .unpack('m'), padroes de bytes com cifra XOR (bytes.zip.cycle.map .pack), chamadas de envio dinamico send(), definicoes dinamicas define_method, eval() aninhado com decodificacao recursiva e strings empacotadas em hex com .pack('H*'). Cada detector usa correspondencia de padroes especializada para Ruby.
- Exibicao de valores codificados e analise decodificada: cada deteccao mostra o valor codificado original ou o indicador de ofuscacao ao lado do resultado decodificado ou da analise em um cartao limpo. Strings Base64 sao totalmente decodificadas, o eval aninhado e desempacotado recursivamente ate 3 niveis, e chamadas send/define_method exibem os nomes de metodo dinamicos.
- Pontuacao de confianca e contexto de origem: cada deteccao recebe uma classificacao de confianca de 1 a 5: muito alta para Base64 decodificado contendo palavras-chave de Ruby (def, class, require), alta para decodificacoes bem-sucedidas, media para deteccoes send/define_method e baixa para padroes XOR que exigem tempo de execucao. Numeros de linha de origem e contexto do codigo ao redor sao incluidos para cada indicador.
- 100 % local no navegador e privado: toda a desofuscacao de Ruby roda inteiramente no seu navegador. Seu codigo Ruby, todos os indicadores detectados, os valores decodificados e os resultados da analise nunca saem do seu dispositivo. Sem envios a servidores, sem chamadas de API, sem armazenamento de dados e sem rastreamento.
O que e desofuscacao de Ruby?
A desofuscacao de Ruby e o processo de detectar e reverter tecnicas de ofuscacao intencional de codigo usadas em programas Ruby. O codigo Ruby ofuscado costuma ocultar strings, chamadas de metodo e logica para evadir a analise estatica, contornar ferramentas de seguranca ou proteger propriedade intelectual. As tecnicas comuns incluem codificar strings com Base64, usar .unpack("m") para decodificacao em linha, esconder chamadas de metodo por tras do envio dinamico send(), definir metodos em tempo de execucao com define_method e envolver cargas em chamadas eval() aninhadas. Desofuscar Ruby e essencial para analise de seguranca, resposta a incidentes e compreensao de codigo Ruby malicioso ou protegido.
Como nosso desofuscador de Ruby funciona
O desofuscador de Ruby escaneia o codigo-fonte Ruby usando correspondencia de padroes ciente da linguagem para cada tecnica de ofuscacao. Chamadas Base64.decode64() sao detectadas extraindo o argumento de string e decodificando-o pela funcao atob() do navegador. Padroes .unpack("m") sao identificados e decodificados de forma semelhante. Chamadas eval() aninhadas sao desempacotadas recursivamente ate 3 niveis, tentando decodificar o Base64 interno em cada nivel. Chamadas send() sao identificadas por seus argumentos de nome de metodo em string, e definicoes define_method sao capturadas com seus nomes de metodo. Padroes de cifra XOR (bytes.zip com cycle.map e XOR sobre pack) sao detectados com sinalizadores de contexto. Todo o processamento roda localmente no seu navegador.
Limitacoes e consideracoes
Esta ferramenta tem limitacoes importantes. Padroes de cifra XOR sao detectados, mas nao podem ser decodificados sem a chave real em tempo de execucao: eles sao sinalizados para investigacao manual. Criptografia personalizada usando as bibliotecas OpenSSL ou Digest do Ruby nao e suportada. Construcao de strings com variaveis ("this_" + "that") nao e detectada como ofuscacao, pois e um padrao Ruby legitimo. Cargas comprimidas com gzip nao sao tratadas, ja que o Zlib do Ruby nao esta disponivel no navegador. Verifique sempre a saida decodificada antes de agir com base nela: falsos positivos podem ocorrer com coincidencias de strings.
Privacidade e seguranca
Esta ferramenta roda inteiramente no seu navegador usando JavaScript do lado do cliente. O codigo Ruby que voce cola, todos os indicadores de ofuscacao detectados, os valores decodificados e os resultados da analise nunca sao enviados a nenhum servidor, armazenados em banco de dados ou transmitidos pela rede. Toda a analise, correspondencia de padroes e decodificacao acontecem localmente no seu dispositivo. Nao ha chamadas de API, rastreamento de analytics, cookies nem coleta de dados de qualquer tipo. Isso a torna totalmente segura para analisar codigo Ruby proprietario, gems de terceiros, amostras de malware ou codigo-fonte sensivel.
Perguntas frequentes
A ferramenta detecta sete padroes comuns de ofuscacao em Ruby: Base64.decode64() e Base64.strict_decode64() com strings codificadas em Base64, decodificacao Base64 com .unpack("m"), manipulacao de bytes com cifra XOR (bytes.zip com cycle.map e XOR), chamadas de envio dinamico send() com nomes de metodo em string, definicoes dinamicas de metodo com define_method, eval() aninhado com decodificacao Base64 recursiva ate 3 niveis de profundidade, e strings codificadas em hex com .pack("H*").
Quando a ferramenta encontra uma chamada eval() com argumento de string, ela tenta recursivamente decodificar quaisquer chamadas internas de Base64.decode64() ou .unpack("m") dentro dessa string. Cada camada decodificada e verificada novamente em busca de mais chamadas eval(), ate 3 niveis de profundidade. Isso revela o codigo Ruby real depois de removidas todas as camadas de ofuscacao.
Os padroes de cifra XOR normalmente usam uma chave definida em outra parte do codigo ou construida dinamicamente, o que torna impossivel descriptografar sem execucao em tempo de execucao. A ferramenta detecta o padrao estrutural (bytes.zip com cycle e XOR) e o sinaliza para investigacao manual. Voce pode executar o trecho XOR em um ambiente de execucao Ruby para obter o valor decodificado real.
As pontuacoes de confianca vao de 1 a 5. A pontuacao 5 (muito alta) e atribuida quando o conteudo decodificado em Base64 contem palavras-chave de Ruby como def, class, require ou module, forte evidencia de codigo Ruby ofuscado. A 4 (alta) e para decodificacoes base64/unpack bem-sucedidas ou desempacotamento de eval aninhado em varios niveis. A 3 (media) e para deteccoes de envio send() e define_method. A 2 (baixa) e para deteccoes de padroes XOR cuja decodificacao exige execucao em tempo de execucao.
Nao. A ferramenta cobre os padroes de ofuscacao Ruby mais comuns, mas nao consegue lidar com todos os metodos. Ela nao decodifica strings construidas por concatenacao, arrays ou buscas em hashes. Nao descriptografa dados cifrados com OpenSSL, nao reverte funcoes de transformacao nem lida com dados comprimidos com Zlib de Ruby. A ofuscacao avancada pode exigir analise dinamica em um ambiente de execucao Ruby.
Em Ruby, send() permite a invocacao dinamica de metodos por nome: em vez de obj.method(), os atacantes usam obj.send("method") para ocultar o nome do metodo da analise estatica. define_method cria metodos em tempo de execucao, permitindo definir codigo dinamicamente. Ambas sao ferramentas legitimas de metaprogramacao, mas sao frequentemente abusadas em codigo Ruby ofuscado para evadir a deteccao por assinatura.
Totalmente. O desofuscador de Ruby roda inteiramente no seu navegador. Seu codigo Ruby, os indicadores detectados, os valores decodificados e os resultados da analise nunca sao enviados a nenhum servidor, armazenados em banco de dados ou transmitidos pela rede. Todo o processamento acontece localmente no seu dispositivo, sem chamadas de API nem coleta de dados.
Sim: 100 % gratis, sem cadastro, sem conta e sem limites de uso. Analise quanto codigo Ruby precisar, quantas vezes quiser. Nao ha niveis premium, cobrancas ocultas ou limites de taxa. A ferramenta roda inteiramente no seu navegador: seu codigo nunca sai do seu dispositivo.