# APK decompilers
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCP Hacking öğrenin ve pratik yapın: [**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %}
{% endhint %}
**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](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](https://github.com/java-decompiler/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](https://github.com/skylot/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 --no-res --no-src --no-imports`
### [GDA-android-reversing-Tool](https://github.com/charles2gan/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](https://github.com/Konloch/bytecode-viewer/releases)
**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](https://github.com/Storyyeller/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](https://github.com/leibnitz27/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](https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)
**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](https://github.com/Storyyeller/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](https://github.com/mstrobel/procyon)
**procyon** ile basit bir decompilation için:
- Bir JAR dosyasını belirtilen dizine decompile edin: `procyon -jar "app.jar" -o "output_directory"`