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

Για περισσότερες λεπτομέρειες σχετικά με κάθε εργαλείο, ελέγξτε την αρχική ανάρτηση από 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