APK decompilers
Para mais detalhes sobre cada ferramenta, confira o post original em https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
Como o pioneiro descompilador GUI Java, JD-Gui permite que você investigue o código Java dentro de arquivos APK. É simples de usar; após obter o APK, basta abri-lo com JD-Gui para inspecionar o código.
Jadx oferece uma interface amigável para descompilar código Java de aplicativos Android. É recomendado por sua facilidade de uso em diferentes plataformas.
Para iniciar a GUI, navegue até o diretório bin e execute:
jadx-gui
Para uso na linha de comando, descompile um APK com:
jadx app.apk
Para especificar um diretório de saída ou ajustar opções de descompilação:
jadx app.apk -d <caminho para o diretório de saída> --no-res --no-src --no-imports
GDA, uma ferramenta exclusiva para Windows, oferece recursos extensivos para engenharia reversa de aplicativos Android. Instale e execute o GDA em seu sistema Windows, em seguida, carregue o arquivo APK para análise.
Com Bytecode-Viewer, você pode analisar arquivos APK usando múltiplos descompiladores. Após o download, execute o Bytecode-Viewer, carregue seu APK e selecione os descompiladores que deseja usar para análise simultânea.
Enjarify traduz bytecode Dalvik para bytecode Java, permitindo que ferramentas de análise Java analisem aplicativos Android de forma mais eficaz.
Para usar o Enjarify, execute:
enjarify app.apk
Isso gera o bytecode Java equivalente ao APK fornecido.
CFR é capaz de descompilar recursos modernos do Java. Use-o da seguinte forma:
Para descompilação padrão:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Para arquivos JAR grandes, ajuste a alocação de memória da JVM:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower, um descompilador analítico, requer construção a partir do código-fonte. Após a construção:
Descompile um arquivo JAR:
java -jar ./fernflower.jar "app.jar" "output_directory"
Em seguida, extraia os arquivos.java
do JAR gerado usandounzip
.
Krakatau oferece controle detalhado sobre a descompilação, especialmente para lidar com bibliotecas externas.
Use Krakatau especificando o caminho da biblioteca padrão e o arquivo JAR a ser descompilado:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
Para descompilação simples com procyon:
Descompile um arquivo JAR para um diretório especificado:
procyon -jar "app.jar" -o "output_directory"
Last updated