APK decompilers
Last updated
Last updated
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Her bir araç hakkında daha fazla bilgi için orijinal gönderiyi kontrol edin https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
Ö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 yapmak 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 aynı anda 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 bir dizine decompile edin: procyon -jar "app.jar" -o "output_directory"
Bu araç, bellek içindeki çalışan bir APK'nın DEX'ini dökmek için kullanılabilir. Bu, uygulama bellek içinde çalıştırıldığında kaldırılan statik obfuscation'ı aşmaya yardımcı olur.
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)