Reversing

Tabla de conversión de archivos

Archivo de origenArchivo resultanteHerramienta

.apk

.dex

unzip (desempaquetar .apk)

.dex

.jar

dex2jar

.jar

.class

JD-GUI

.apk

.smali

Apktool

.dex

.smali

baksmali

.apk

.class

jadx

Desempaquetar APK

cp application.apk application.zip
unzip application.zip -d app-unpacked

Apktool

  • Desde .apk a .smali

Descompilar APK

apktool d application.apk -o app-decompiled

Compilar APK

apktool empty-framework-dir

# General
apktool b app-decompiled -o app-compiled.apk

# AAPT2 (Android Asset Packaging Tool)
apktool b --use-aapt2 app-decompiled -o app-compiled.apk

APKLab

baksmali

  • Desde .dex a .smali

java -jar baksmali.jar d <file.dex>
cd out

dex2jar

  • Desde .apk a .jar o .dex a .jar

# Desempaquetar APK
cp app.apk app.zip
unzip app.zip -d app-unpacked

# .dex a .jar
cd app-unpacked
d2j-dex2jar <file.dex>

# .apk a .jar
d2j-dex2jar app.apk -o app.jar

jadx

jadx -d $(pwd)/app-decompiled $(pwd)/<file>
jadx-gui $(pwd)/<file>
  • <file> = .apk, .dex, .jar, .class, .smali, .zip, .aar, .arsc.

JD-GUI

  • Desde .jar a .class

java -jar jd-gui.jar <file.jar>

Flutter

En caso de que la aplicación móvil haya sido desarrollada en Flutter y se encuentre habilitado el modo de depuración, es factible acceder a su código fuente.

apktool d application.apk -o app-decompiled
strings ./app-decompiled/assets/flutter_assets/kernel_blob.bin > extracted_code.dart
cat extracted_code.dart

Última actualización