4.6 KiB
APK decompilers
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)
GCP Hacking öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
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.
JD-Gui
Ö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
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-android-reversing-Tool
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
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
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
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
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çinunzip
kullanın.
Krakatau
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
procyon ile basit bir decompilation için:
- Bir JAR dosyasını belirtilen dizine decompile edin:
procyon -jar "app.jar" -o "output_directory"