APK decompilers
Reading time: 4 minutes
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Για περισσότερες λεπτομέρειες σχετικά με κάθε εργαλείο, ελέγξτε την αρχική ανάρτηση από https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
Ως ο πρωτοπόρος GUI Java decompiler, JD-Gui σας επιτρέπει να εξερευνήσετε τον κώδικα Java μέσα σε αρχεία APK. Είναι απλό στη χρήση; Αφού αποκτήσετε το APK, απλώς ανοίξτε το με το JD-Gui για να επιθεωρήσετε τον κώδικα.
Jadx
Jadx προσφέρει μια φιλική προς το χρήστη διεπαφή για την αποσυμπίεση του κώδικα Java από εφαρμογές Android. Συνιστάται για την ευκολία χρήσης του σε διάφορες πλατφόρμες.
- Για να εκκινήσετε το GUI, πλοηγηθείτε στον φάκελο bin και εκτελέστε:
jadx-gui
- Για χρήση από τη γραμμή εντολών, αποσυμπιέστε ένα APK με:
jadx app.apk
- Για να καθορίσετε έναν φάκελο εξόδου ή να προσαρμόσετε τις επιλογές αποσυμπίεσης:
jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA, ένα εργαλείο μόνο για Windows, προσφέρει εκτενή χαρακτηριστικά για την αντίστροφη μηχανική εφαρμογών Android. Εγκαταστήστε και εκτελέστε το GDA στο σύστημα Windows σας, στη συνέχεια φορτώστε το αρχείο APK για ανάλυση.
Bytecode-Viewer
Με το Bytecode-Viewer, μπορείτε να αναλύσετε αρχεία APK χρησιμοποιώντας πολλαπλούς αποσυμπιεστές. Αφού το κατεβάσετε, εκτελέστε το Bytecode-Viewer, φορτώστε το APK σας και επιλέξτε τους αποσυμπιεστές που επιθυμείτε να χρησιμοποιήσετε για ταυτόχρονη ανάλυση.
Enjarify
Enjarify μεταφράζει τον Dalvik bytecode σε Java bytecode, επιτρέποντας στα εργαλεία ανάλυσης Java να αναλύουν τις εφαρμογές Android πιο αποτελεσματικά.
- Για να χρησιμοποιήσετε το Enjarify, εκτελέστε:
enjarify app.apk
Αυτό δημιουργεί τον ισοδύναμο Java bytecode του παρεχόμενου APK.
CFR
CFR είναι ικανό να αποσυμπιέσει σύγχρονα χαρακτηριστικά Java. Χρησιμοποιήστε το ως εξής:
- Για τυπική αποσυμπίεση:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- Για μεγάλα αρχεία JAR, προσαρμόστε την κατανομή μνήμης JVM:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflower, ένας αναλυτικός αποσυμπιεστής, απαιτεί κατασκευή από πηγή. Αφού κατασκευαστεί:
- Αποσυμπιέστε ένα αρχείο JAR:
java -jar ./fernflower.jar "app.jar" "output_directory"
Στη συνέχεια, εξαγάγετε τα αρχεία.java
από το παραγόμενο JAR χρησιμοποιώνταςunzip
.
Krakatau
Krakatau προσφέρει λεπτομερή έλεγχο της αποσυμπίεσης, ειδικά για την επεξεργασία εξωτερικών βιβλιοθηκών.
- Χρησιμοποιήστε το Krakatau καθορίζοντας τη διαδρομή της τυπικής βιβλιοθήκης και το αρχείο JAR προς αποσυμπίεση:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
Για απλή αποσυμπίεση με το procyon:
- Αποσυμπιέστε ένα αρχείο JAR σε έναν καθορισμένο φάκελο:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί για να αποθηκεύσει το DEX μιας εκτελούμενης APK στη μνήμη. Αυτό βοηθά να παρακαμφθεί η στατική παραπλάνηση που αφαιρείται ενώ η εφαρμογή εκτελείται στη μνήμη.
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.