Sobre o projeto
O jadx é um descompilador Dex para Java de código aberto, distribuído sob a licença Apache 2.0. Oferece ferramentas de linha de comando e interface gráfica (GUI) para gerar código-fonte Java a partir de arquivos Dex e APK do Android.
Principais capacidades:
- Descompilar bytecode Dalvik para código Java a partir de arquivos APK, dex, aar, aab e zip.
- Decodificar AndroidManifest.xml e outros recursos dos arquivos resources.arsc.
- Inclui um desofuscador com limites configuráveis de comprimento de nomes, listas de permissões (whitelists) e suporte a arquivos de mapeamento (Tiny, Tiny v2, Enigma, ProGuard, SRG, XSRG, JAM, CSRG, TSRG, TSRG 2, mapa de migração IntelliJ, Recaf simples, JOBF).
A interface jadx-gui oferece código descompilado com destaque de sintaxe, ir para declaração, encontrar uso, pesquisa de texto completo e um depurador Smali. Atalhos de teclado e uma visão geral dos recursos estão documentados na wiki do projeto.
As opções de instalação incluem arquivos de release no GitHub, builds noturnos instáveis, pacotes Arch Linux (extra e AUR), Homebrew para macOS e Flathub. É necessário Java 11 ou superior (64 bits) para executar as ferramentas. O jadx também pode ser usado como biblioteca em projetos Java e pode ser construído a partir do código-fonte usando JDK 17 ou superior com Gradle.
A ferramenta de linha de comando aceita muitas opções, incluindo diretórios de saída, modos de descompilação (auto, restructure, simple, fallback), decodificação de recursos, quantidade de threads, exportação de projetos Gradle, configurações de desofuscação, flags de renomeação, formatação de inteiros, exportação de grafos de controle de fluxo e chamadas, níveis de log e arquivos de configuração. O comando plugins permite instalar, listar, atualizar, habilitar e desabilitar plugins, com plugins integrados para entrada dex, conversão Java, metadados Kotlin, SMAP Kotlin, mapeamentos de renomeação e entrada smali.
Variáveis de ambiente permitem personalizar diretórios de configuração, cache e temporários, além de ajustar verificações de segurança XML/zip e limites de entradas zip. O README observa que o jadx não consegue descompilar todo o código em todos os casos, portanto erros podem ocorrer, e aponta para um guia de resolução de problemas na wiki.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.