APK decompilers

HackTricks'i Destekleyin

Her bir araç hakkında daha fazla bilgi için https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr adresindeki orijinal gönderiyi kontrol edin.

Öncü GUI Java decompiler olan JD-Gui, APK dosyaları içindeki Java kodunu incelemenizi sağlar. Kullanımı oldukça basittir; APK'yı aldıktan sonra, kodu incelemek için JD-Gui ile açmanız yeterlidir.

Jadx, Android uygulamalarından Java kodunu decompile etmek için kullanıcı dostu bir arayüz sunar. Farklı platformlarda kullanım kolaylığı nedeniyle önerilir.

  • GUI'yi başlatmak için, bin dizinine gidin ve şunu çalıştırın: jadx-gui

  • Komut satırı kullanımı için, bir APK'yı decompile etmek için: jadx app.apk

  • Çıktı dizinini belirtmek veya decompilation seçeneklerini ayarlamak için: jadx app.apk -d <path to output dir> --no-res --no-src --no-imports

GDA, yalnızca Windows için bir araçtır ve Android uygulamalarını tersine mühendislik için kapsamlı özellikler sunar. GDA'yı Windows sisteminize kurun ve çalıştırın, ardından analiz için APK dosyasını yükleyin.

Bytecode-Viewer ile birden fazla decompiler kullanarak APK dosyalarını analiz edebilirsiniz. İndirdikten sonra, Bytecode-Viewer'ı çalıştırın, APK'nızı yükleyin ve eşzamanlı analiz için kullanmak istediğiniz decompiler'ları seçin.

Enjarify, Dalvik bytecode'u Java bytecode'a çevirir, bu da Java analiz araçlarının Android uygulamalarını daha etkili bir şekilde analiz etmesini sağlar.

  • Enjarify'yi kullanmak için, şunu çalıştırın: enjarify app.apk Bu, sağlanan APK'nın Java bytecode eşdeğerini oluşturur.

CFR, modern Java özelliklerini decompile edebilir. Aşağıdaki gibi kullanın:

  • Standart decompilation için: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • Büyük JAR dosyaları için, JVM bellek tahsisini ayarlayın: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflower, analitik bir decompiler'dır ve kaynak koddan inşa edilmesi gerekir. İnşa ettikten sonra:

  • Bir JAR dosyasını decompile edin: java -jar ./fernflower.jar "app.jar" "output_directory" Ardından, oluşturulan JAR'dan .java dosyalarını çıkarmak için unzip kullanın.

Krakatau, decompilation üzerinde detaylı kontrol sunar, özellikle dış kütüphaneleri işlerken.

  • Krakatau'yu kullanmak için standart kütüphane yolunu ve decompile edilecek JAR dosyasını belirtin: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

procyon ile basit bir decompilation için:

  • Bir JAR dosyasını belirtilen dizine decompile edin: procyon -jar "app.jar" -o "output_directory"

Last updated