Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
enjarify — Traduz bytecode Dalvik (DEX/APK) para bytecode Java equivalente, permitindo que ferramentas de análise Java processem aplicativos Android com alta precisão para casos extremos. | Kitploit
Ferramentas/GitHubGitHub/google/enjarify
Segurança AndroidAnálise EstáticaAnálise de CódigoEngenharia ReversaSegurança MóvelAnálise de BináriosArchived
GitHubgoogle/enjarify

enjarify

Traduz bytecode Dalvik (DEX/APK) para bytecode Java equivalente, permitindo que ferramentas de análise Java processem aplicativos Android com alta precisão para casos extremos.

Ver Repositório
2.7k539há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Nota: Este repositório pode estar desatualizado. O desenvolvimento futuro ocorrerá em https://github.com/Storyyeller/enjarify.

Introdução

Enjarify é uma ferramenta para traduzir bytecode Dalvik para bytecode Java equivalente. Isso permite que ferramentas de análise Java analisem aplicativos Android.

Uso e instalação

Enjarify é uma aplicação pura em Python 3, então você pode simplesmente clonar o repositório e executá-lo. Para executá-lo diretamente, assumindo que você está no diretório raiz do repositório, você pode simplesmente fazer

root@kitploit:~
python3 -O -m enjarify.main yourapp.apk

Para uso normal, você provavelmente vai querer usar os scripts auxiliares e configurá-los no seu PATH.

Linux

Para conveniência, um script shell auxiliar é fornecido, enjarify.sh. Ele tentará usar PyPy se disponível, pois é mais rápido que CPython. Se você quiser ser capaz de chamar o Enjarify de qualquer lugar, pode criar um link simbólico a partir de algum lugar no seu PATH, como ~/bin. Para fazer isso, assumindo que você está dentro do diretório raiz do repositório,

root@kitploit:~
ln -s "$PWD/enjarify.sh" ~/bin/enjarify

Windows

Um script batch auxiliar, enjarify.bat, é fornecido. Para poder chamá-lo de qualquer lugar, basta adicionar o diretório raiz do repositório ao seu PATH. O script batch sempre invocará python3 como interpretador. Se você quiser usar PyPy, basta editar o script.

Uso

Assumindo que você configurou o script corretamente no seu PATH, pode chamá-lo de qualquer lugar apenas digitando enjarify, por exemplo

root@kitploit:~
enjarify yourapp.apk

A forma mais básica de uso é especificar um arquivo apk ou dex como entrada. Se você especificar um apk multidex, o Enjarify traduzirá automaticamente todos os arquivos dex e produzirá os resultados em um único jar combinado. Se você especificar um arquivo dex, apenas esse arquivo dex será traduzido. Por exemplo, supondo que você extraiu manualmente os arquivos dex, você poderia fazer

root@kitploit:~
enjarify classes2.dex

O arquivo de saída padrão é [inputname]-enjarify.jar no diretório atual. Para especificar o nome do arquivo de saída explicitamente, use a opção -o ou --output.

root@kitploit:~
enjarify yourapp.apk -o yourapp.jar

Por padrão, o Enjarify se recusará a sobrescrever o arquivo de saída se ele já existir. Para sobrescrever a saída, use a opção -f ou --force.

Por que não dex2jar?

Dex2jar é uma ferramenta mais antiga que também tenta traduzir Dalvik para bytecode Java. Ela funciona razoavelmente bem na maioria das vezes, mas muitos recursos obscuros ou casos extremos farão com que ela falhe ou até mesmo produza resultados incorretos silenciosamente. Em contraste, o Enjarify é projetado para funcionar em tantos casos quanto possível, mesmo para código onde o Dex2jar falharia. Entre outras coisas, o Enjarify lida corretamente com nomes de classe Unicode, constantes usadas como múltiplos tipos, casts implícitos, manipuladores de exceção saltando para o fluxo de controle normal, classes que referenciam muitas constantes, métodos muito longos, manipuladores de exceção após um manipulador catchall e valores iniciais estáticos do tipo errado.

Limitações

Enjarify atualmente não traduz metadados opcionais como atributos de arquivo fonte, números de linha e anotações.

O Enjarify se esforça para traduzir com sucesso o maior número possível de classes, mas existem alguns casos potenciais onde simplesmente não é possível devido a limitações no Android, Java ou ambos. Felizmente, isso só acontece em circunstâncias forjadas, então não deve ser um problema na prática.

Dicas de desempenho

PyPy é muito mais rápido que CPython. Para instalar o PyPy, veja http://pypy.org/. Certifique-se de obter o PyPy3 em vez do PyPy normal. O script wrapper do Linux usará automaticamente o comando pypy3 se disponível. No Windows, você precisará editar o script wrapper você mesmo.

Por padrão, o Enjarify executa otimizações no bytecode que o tornam mais legível para humanos (propagação de cópia, remoção de valores não utilizados, etc.). Se você não precisar disso, pode acelerar as coisas desativando as otimizações com a opção --fast. Observe que, no caso muito raro de uma classe ser grande demais para caber em um classfile sem otimização, o Enjarify tentará automaticamente novamente com todas as otimizações ativadas, portanto, essa opção não afeta o número de classes que são traduzidas com sucesso.

Aviso legal

Este não é um produto oficial do Google (experimental ou não), é apenas um código que pertence ao Google.

Baixar ferramenta