mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
89 lines
5.5 KiB
Markdown
89 lines
5.5 KiB
Markdown
# APK decompilers
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
{% endhint %}
|
|
|
|
**Para más detalles sobre cada herramienta, consulta la publicación original en [https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr](https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr)**
|
|
|
|
|
|
### [JD-Gui](https://github.com/java-decompiler/jd-gui)
|
|
|
|
Como el decompilador GUI Java pionero, **JD-Gui** te permite investigar código Java dentro de archivos APK. Es fácil de usar; después de obtener el APK, simplemente ábrelo con JD-Gui para inspeccionar el código.
|
|
|
|
### [Jadx](https://github.com/skylot/jadx)
|
|
|
|
**Jadx** ofrece una interfaz fácil de usar para decompilar código Java de aplicaciones Android. Se recomienda por su facilidad de uso en diferentes plataformas.
|
|
|
|
- Para iniciar la GUI, navega al directorio bin y ejecuta: `jadx-gui`
|
|
- Para uso en línea de comandos, decompila un APK con: `jadx app.apk`
|
|
- Para especificar un directorio de salida o ajustar opciones de decompilación: `jadx app.apk -d <ruta al directorio de salida> --no-res --no-src --no-imports`
|
|
|
|
### [GDA-android-reversing-Tool](https://github.com/charles2gan/GDA-android-reversing-Tool)
|
|
|
|
**GDA**, una herramienta solo para Windows, ofrece amplias características para la ingeniería inversa de aplicaciones Android. Instala y ejecuta GDA en tu sistema Windows, luego carga el archivo APK para su análisis.
|
|
|
|
### [Bytecode-Viewer](https://github.com/Konloch/bytecode-viewer/releases)
|
|
|
|
Con **Bytecode-Viewer**, puedes analizar archivos APK utilizando múltiples decompiladores. Después de descargar, ejecuta Bytecode-Viewer, carga tu APK y selecciona los decompiladores que deseas usar para un análisis simultáneo.
|
|
|
|
### [Enjarify](https://github.com/Storyyeller/enjarify)
|
|
|
|
**Enjarify** traduce bytecode Dalvik a bytecode Java, permitiendo que las herramientas de análisis de Java analicen aplicaciones Android de manera más efectiva.
|
|
|
|
- Para usar Enjarify, ejecuta: `enjarify app.apk`
|
|
Esto genera el bytecode Java equivalente del APK proporcionado.
|
|
|
|
### [CFR](https://github.com/leibnitz27/cfr)
|
|
|
|
**CFR** es capaz de decompilar características modernas de Java. Úsalo de la siguiente manera:
|
|
|
|
- Para decompilación estándar: `java -jar ./cfr.jar "app.jar" --outputdir "directorio_salida"`
|
|
- Para archivos JAR grandes, ajusta la asignación de memoria de la JVM: `java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "directorio_salida"`
|
|
|
|
### [Fernflower](https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)
|
|
|
|
**Fernflower**, un decompilador analítico, requiere ser construido desde el código fuente. Después de construir:
|
|
|
|
- Decompila un archivo JAR: `java -jar ./fernflower.jar "app.jar" "directorio_salida"`
|
|
Luego, extrae los archivos `.java` del JAR generado usando `unzip`.
|
|
|
|
### [Krakatau](https://github.com/Storyyeller/Krakatau)
|
|
|
|
**Krakatau** ofrece un control detallado sobre la decompilación, especialmente para manejar bibliotecas externas.
|
|
|
|
- Usa Krakatau especificando la ruta de la biblioteca estándar y el archivo JAR a decompilar: `./Krakatau/decompile.py -out "directorio_salida" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"`
|
|
|
|
### [procyon](https://github.com/mstrobel/procyon)
|
|
|
|
Para una decompilación sencilla con **procyon**:
|
|
|
|
- Decompila un archivo JAR a un directorio especificado: `procyon -jar "app.jar" -o "directorio_salida"`
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
</details>
|
|
{% endhint %}
|