APK decompilers
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Για περισσότερες λεπτομέρειες σχετικά με κάθε εργαλείο, ελέγξτε την αρχική ανάρτηση από 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"
Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί για να αποθηκεύσει το DEX μιας εκτελούμενης APK στη μνήμη. Αυτό βοηθά να ξεπεραστεί η στατική παραπλάνηση που αφαιρείται ενώ η εφαρμογή εκτελείται στη μνήμη.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)