APK decompilers

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!

HackTricks'ı desteklemenin diğer yolları:

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 yazıyı kontrol edin.

Öncü GUI Java decompiler olan JD-Gui, APK dosyaları içindeki Java kodunu incelemenizi sağlar. Kullanımı oldukça basittir; APK'yi elde ettikten 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'yi decompile etmek için: jadx app.apk

  • Bir çıktı dizini belirtmek veya decompile seçeneklerini ayarlamak için: jadx app.apk -d <çıktı dizini yolu> --no-res --no-src --no-imports

GDA, yalnızca Windows için olan bir araç olup, Android uygulamalarını tersine mühendislik yapmak için kapsamlı özellikler sunar. GDA'yı Windows sistemine 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 aynı anda analiz için kullanmak istediğiniz decompiler'ları seçin.

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

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

CFR, modern Java özelliklerini decompile etme yeteneğine sahiptir. Aşağıdaki gibi kullanın:

  • Standart decompile için: java -jar ./cfr.jar "app.jar" --outputdir "çıktı_dizini"

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

Fernflower, analitik bir decompiler olup, kaynaktan derleme gerektirir. Derledikten sonra:

  • Bir JAR dosyasını decompile edin: java -jar ./fernflower.jar "app.jar" "çıktı_dizini" Ardından, oluşturulan JAR'dan .java dosyalarını unzip kullanarak çıkarın.

Krakatau, özellikle harici kütüphaneleri işlemek için decompilation üzerinde ayrıntılı kontrol sağlar.

  • Krakatau'yu kullanırken, standart kütüphane yolunu ve decompile edilecek JAR dosyasını belirtin: ./Krakatau/decompile.py -out "çıktı_dizini" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

procyon ile basit decompilation için:

  • Bir JAR dosyasını belirtilen bir dizine decompile edin: procyon -jar "app.jar" -o "çıktı_dizini"

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!

HackTricks'ı desteklemenin diğer yolları:

Last updated