APK decompilers

Support HackTricks

Για περισσότερες λεπτομέρειες σχετικά με κάθε εργαλείο, ελέγξτε την αρχική ανάρτηση από https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr

Ως ο πρωτοπόρος GUI Java decompiler, JD-Gui σας επιτρέπει να ερευνήσετε τον κώδικα Java μέσα σε αρχεία APK. Είναι απλό στη χρήση; αφού αποκτήσετε το APK, απλώς ανοίξτε το με το JD-Gui για να επιθεωρήσετε τον κώδικα.

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, ένα εργαλείο μόνο για Windows, προσφέρει εκτενή χαρακτηριστικά για την αντίστροφη μηχανική εφαρμογών Android. Εγκαταστήστε και εκτελέστε το GDA στο σύστημα Windows σας, στη συνέχεια φορτώστε το αρχείο APK για ανάλυση.

Με το Bytecode-Viewer, μπορείτε να αναλύσετε αρχεία APK χρησιμοποιώντας πολλαπλούς αποσυμπιεστές. Αφού το κατεβάσετε, εκτελέστε το Bytecode-Viewer, φορτώστε το APK σας και επιλέξτε τους αποσυμπιεστές που επιθυμείτε να χρησιμοποιήσετε για ταυτόχρονη ανάλυση.

Enjarify μεταφράζει τον Dalvik bytecode σε Java bytecode, επιτρέποντας στα εργαλεία ανάλυσης Java να αναλύουν τις εφαρμογές Android πιο αποτελεσματικά.

  • Για να χρησιμοποιήσετε το Enjarify, εκτελέστε: enjarify app.apk Αυτό δημιουργεί τον ισοδύναμο Java bytecode του παρεχόμενου APK.

CFR είναι ικανό να αποσυμπιέσει σύγχρονες δυνατότητες Java. Χρησιμοποιήστε το ως εξής:

  • Για τυπική αποσυμπίεση: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • Για μεγάλα αρχεία JAR, προσαρμόστε την κατανομή μνήμης JVM: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflower, ένας αναλυτικός αποσυμπιεστής, απαιτεί κατασκευή από πηγή. Αφού κατασκευάσετε:

  • Αποσυμπιέστε ένα αρχείο JAR: java -jar ./fernflower.jar "app.jar" "output_directory" Στη συνέχεια, εξαγάγετε τα αρχεία .java από το παραγόμενο JAR χρησιμοποιώντας unzip.

Krakatau προσφέρει λεπτομερή έλεγχο της αποσυμπίεσης, ειδικά για την επεξεργασία εξωτερικών βιβλιοθηκών.

  • Χρησιμοποιήστε το Krakatau καθορίζοντας τη διαδρομή της τυπικής βιβλιοθήκης και το αρχείο JAR προς αποσυμπίεση: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

Για απλή αποσυμπίεση με το procyon:

  • Αποσυμπιέστε ένα αρχείο JAR σε έναν καθορισμένο φάκελο: procyon -jar "app.jar" -o "output_directory"

Support HackTricks

Last updated