APK decompiler'ları
Reading time: 3 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
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
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'unu Java bytecode'una ç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 derlenmesi gerekir. Derledikten 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 bir dizine decompile edin:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
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.
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.