APK Info Viewer

Δείτε τι δηλώνει ένα πακέτο εφαρμογής Android — έκδοση, δικαιώματα, στοιχεία και πιστοποιητικά υπογραφής — πριν το εγκαταστήσετε.

Έτοιμο. Σύρετε ένα APK για να το επιθεωρήσετε.

Το APK αναλύεται εξ ολοκλήρου στη συσκευή σας: τίποτα δεν ανεβαίνει στον διακομιστή και το αρχείο μόνο διαβάζεται — ποτέ δεν εγκαθίσταται ή εκτελείται.

Συχνές Ερωτήσεις

Τι μπορώ να μάθω από ένα APK χωρίς να το εγκαταστήσω;

Αρκετά πράγματα: το όνομα πακέτου και την έκδοση της εφαρμογής, τις εκδόσεις Android που χρειάζεται, κάθε δικαίωμα που ζητά, τις οθόνες και τα στοιχεία παρασκηνίου που δηλώνει, τους τύπους επεξεργαστών για τους οποίους διαθέτει εγγενή κώδικα, καθώς και τα πιστοποιητικά με τα οποία υπογράφηκε.

Μπορεί αυτό το εργαλείο να μου πει αν ένα APK είναι malware;

Όχι — και να είστε επιφυλακτικοί με οποιοδήποτε εργαλείο υπόσχεται ασφαλή διάγνωση από μια γρήγορη σάρωση. Αυτό που παίρνετε εδώ είναι τα γεγονότα: δικαιώματα, στοιχεία, υπογράφοντες και hashes. Συγκρίνετέ τα με αυτά που δημοσιεύει ο προγραμματιστής και αντιμετωπίστε τυχόν απροσδόκητα δικαιώματα ή διαφορετικό υπογράφοντα από την επίσημη κυκλοφορία ως λόγους για να μην προχωρήσετε.

Πια αρχεία υποστηρίζονται;

Απλά αρχεία APK έως 500 MB. Τα διαμερισμένα πακέτα (XAPK, APKM) και τα Android App Bundles (.aab) είναι κοντέινερ ή μορφές δημοσίευσης και όχι ένα ενιαίο εγκαταστάσιμο πακέτο, οπότε απορρίπτονται με ένα σαφές μήνυμα αντί για μια συγκεχυμένη αναφορά.

Τι μου λένε οι λεπτομέρειες υπογραφής;

Κάθε εφαρμογή Android είναι υπογεγραμμένη και το πιστοποιητικό προσδιορίζει ποιος τη δημοσίευσε. Βλέπετε ποια σχήματα υπογραφής φέρει το πακέτο (v1, v2, v3) καθώς και το θέμα, το παράθυρο εγκυρότητας και τα αποτυπώματα MD5, SHA-1 και SHA-256 κάθε υπογράφοντος. Δύο APK με ταιριαστά αποτυπώματα προέρχονται από τον ίδιο εκδότη — το αν εμπιστεύεστε αυτόν τον εκότη εξαρτάται από εσάς.

Τι σημαίνει η ετικέτα «Επικίνδυνο» (Dangerous) σε ένα δικαίωμα;

Είναι η επίσημη ταξινόμηση του Android: τα επικίνδυνα δικαιώματα μπορούν να αποκτήσουν πρόσβαση σε προσωπικά δεδομένα — τοποθεσία, επαφές, κάμερα, μικρόφωνο, αποθηκευτικός χώρος — οπότε το σύστημα ρωτά τον χρήστη πριν τα παραχωρήσει. Η ετικέτα δεν αποτελεί κατηγορία· μια εφαρμογή χαρτών που ζητά τοποθεσία είναι φυσιολογικό. Απλώς επισημαίνει τα δικαιώματα που αξίζει να διαβάσετε διπλά.

Τοπική ανάλυση αρχείων APK στο πρόγραμμα περιήγησης

Το APK Info Viewer αποτελεί ένα εξειδικευμένο εργαλείο στατικής ανάλυσης που εκτελείται εξ ολοκλήρου μέσα στο πρόγραμμα περιήγησης του χρήστη. Επιτρέπει τον έλεγχο των τεχνικών προδιαγραφών και των μεταδεδομένων ενός αρχείου Android Application Package (APK) πριν από την εγκατάστασή του στη συσκευή. Η λειτουργία του βασίζεται σε έναν τοπικό Worker (Web Worker), ο οποίος αναλαμβάνει την ανάγνωση, τον υπολογισμό των κρυπτογραφικών κατακερματισμών (hashes) και την ανάλυση των εσωτερικών αρχείων του πακέτου.

Με τη μέθοδο αυτή, κανένα αρχείο ή δεδομένο δεν μεταφέρεται σε εξωτερικούς διακομιστές (servers), διασφαλίζοντας το ιδιωτικό απόρρητο. Το αρχείο APK απλώς διαβάζεται τοπικά και δεν εγκαθίσταται ούτε εκτελείται στο λειτουργικό σύστημα του χρήστη. Το εργαλείο υποστηρίζει την εισαγωγή ενός αρχείου .apk τη φορά, με μέγιστο όριο μεγέθους τα 500 MB.

Ανατομία ενός APK και δομή αρχείου

Ένα αρχείο APK είναι στην πραγματικότητα ένα συμπιεσμένο αρχείο που περιέχει όλα τα απαραίτητα στοιχεία για τη λειτουργία μιας εφαρμογής Android. Κατά την εισαγωγή του αρχείου στο εργαλείο, εμφανίζεται το μήνυμα Ανάγνωση ‹name›… και ξεκινά η επεξεργασία των εσωτερικών του στοιχείων.

Η δομή ενός τυπικού πακέτου περιλαμβάνει:

  • AndroidManifest.xml: Το κεντρικό αρχείο ρυθμίσεων που καθορίζει το όνομα του πακέτου, τις απαιτήσεις συστήματος, τα δικαιώματα και τα δηλωμένα στοιχεία της εφαρμογής. Εάν το αρχείο αυτό δεν εντοπιστεί ή δεν είναι αναγνώσιμο, η ανάλυση διακόπτεται με το σφάλμα \"Αυτό δεν μοιάζει με APK: δεν βρέθηκε αναγνώσιμο AndroidManifest.xml στο εσωτερικό του.\".
  • Αρχεία κώδικα (.dex): Τα αρχεία Dalvik Executable που περιέχουν τον μεταγλωττισμένο κώδικα της εφαρμογής. Το εργαλείο καταγράφει το πλήθος τους στην ένδειξη Αρχεία κώδικα (.dex).
  • Πόροι και Assets: Αρχεία εικόνων, διεπαφής και άλλων δεδομένων που καταγράφονται στις ενδείξεις Αρχεία πόρων και Αρχεία asset.
  • Εγγενής κώδικας (Native Code): Βιβλιοθήκες μεταγλωττισμένες για συγκεκριμένες αρχιτεκτονικές επεξεργαστών (ABIs).

Το εργαλείο καταμετρά το σύνολο των αρχείων στην ένδειξη Αρχεία στο πακέτο και προσδιορίζει τις υποστηριζόμενες Πυκνότητες οθόνης.

Απαιτήσεις συστήματος και εκδόσεις Android SDK

Στην ενότητα Απαιτήσεις (secRequirements), το εργαλείο αναλύει τις παραμέτρους του SDK που καθορίζουν τη συμβατότητα της εφαρμογής με τις διάφορες εκδόσεις του λειτουργικού συστήματος Android:

  • Ελάχιστο Android (lMinSdk): Η χαμηλότερη έκδοση Android που απαιτείται για την εκτέλεση της εφαρμογής. Εμφανίζεται ως Android ‹version› (API ‹level›) ή απλώς API ‹level›.
  • Android στόχος (lTargetSdk): Η έκδοση του API για την οποία έχει σχεδιαστεί και δοκιμαστεί η εφαρμογή. Καθορίζει τη συμπεριφορά ασφαλείας και τις προστασίες προγράμματος που εφαρμόζει το λειτουργικό σύστημα. Εμφανίζεται ως Android ‹version› (API ‹level›) ή API ‹level›.
  • μέγιστο SDK ‹n› (lMaxSdk): Εάν υφίσταται, ορίζει το ανώτατο όριο έκδοσης API στο οποίο επιτρέπεται να εκτελεστεί η εφαρμογή.

Διαχείριση και ταξινόμηση δικαιωμάτων (Permissions)

Στην ενότητα Δικαιώματα (Permissions), το εργαλείο παραθέτει όλα τα δικαιώματα που ζητά να αποκτήσει η εφαρμογή κατά την εγκατάσταση ή τη χρήση της.

Το Android διαχωρίζει τα δικαιώματα με βάση το επίπεδο επικινδυνότητάς τους για την ιδιωτικότητα του χρήστη. Τα δικαιώματα που έχουν πρόσβαση σε ευαίσθητα προσωπικά δεδομένα (όπως η τοποθεσία, οι επαφές, η κάμερα, το μικρόφωνο ή ο αποθηκευτικός χώρος) ταξινομούνται ως επικίνδυνα. Το APK Info Viewer εφαρμόζει τους εξής κανόνες εμφάνισης:

  1. Τα δικαιώματα που φέρουν την επίσημη ταξινόμηση επικινδυνότητας του Android εμφανίζονται με τη διακριτή ετικέτα Επικίνδυνη (Dangerous).
  2. Κατά την παραγωγή της αναφοράς, τα δικαιώματα με την ετικέτα Επικίνδυνη τοποθετούνται κατά προτεραιότητα στην κορυφή της λίστας.

Στοιχεία εφαρμογής και όρια εμφάνισης

Στην ενότητα Στοιχεία (Components), το εργαλείο κατηγοριοποιεί τα δομικά στοιχεία της εφαρμογής που δηλώνονται στο μανιφέστο:

  • Activities: Οι οθόνες της διεπαφής χρήστη.
  • Services: Οι διεργασίες που εκτελούνται στο παρασκήνιο χωρίς διεπαφή χρήστη.
  • Receivers: Τα στοιχεία που λαμβάνουν και επεξεργάζονται μηνύματα συστήματος ή εκπομπές άλλων εφαρμογών.
  • Providers: Τα στοιχεία που διαχειρίζονται και μοιράζονται δεδομένα εφαρμογών. Εδώ εμφανίζεται η αρχή προέλευσης (provider authority) ή η ένδειξη Κανένα.

Για κάθε στοιχείο, εμφανίζεται η ετικέτα εξαγόμενο (exported) όταν αυτό είναι προσβάσιμο από άλλες εφαρμογές της συσκευής. Για λόγους απόδοσης της διεπαφής, εμφανίζονται έως 100 εγγραφές ανά κατηγορία στοιχείων. Εάν τα στοιχεία μιας κατηγορίας υπερβαίνουν αυτό το όριο, προστίθεται η ένδειξη +‹count› ακόμη.

Σχήματα ψηφιακής υπογραφής και κρυπτογραφικοί κατακερματισμοί

Κάθε έγκυρο αρχείο APK πρέπει να είναι ψηφιακά υπογεγραμμένο από τον δημιουργό του. Στην ενότητα Υπογραφές (Signatures), το εργαλείο εξάγει μεταδεδομένα από πιστοποιητικά X.509 που εντοπίζονται σε μπλοκ υπογραφής v1 (PKCS#7) καθώς και σε APK Signing Blocks εκδόσεων v2, v3 και v3.1.

Για κάθε υπογράφοντα (Υπογράφων ‹n›), παρουσιάζονται τα εξής στοιχεία:

  • Υποκείμενο (Subject) και Εκδότης (Issued by).
  • Σειριακός αριθμός (Serial number).
  • Ισχύει από (Valid from) και Ισχύει έως (Valid until).
  • Αλγόριθμος υπογραφής (Signature algorithm) και Αλγόριθμος κλειδιού (Key algorithm).
  • Αποτυπώματα MD5, SHA-1 και SHA-256 του πιστοποιητικού.

Εάν δεν ανιχνευθεί έγκυρο μπλοκ υπογραφής, εμφανίζεται το μήνυμα "Δεν βρέθηκε αναγνωρισμένο μπλοκ υπογραφής — το πακέτο μπορεί να είναι υπογεγραμμένο ή τροποποιημένο.". Το εργαλείο περιορίζεται στην εξαγωγή και παρουσίαση αυτών των μεταδεδομένων· δεν πραγματοποιεί κρυπτογραφική επαλήθευση της ακεραιότητας των υπογραφών, έλεγχο της αλυσίδας εμπιστοσύνης των πιστοποιητικών ή ταυτοποίηση της πραγματικής ταυτότητας του εκδότη.

Παράλληλα, στην ενότητα Κατακερματισμοί αρχείου (File hashes), το εργαλείο υπολογίζει και εμφανίζει τις τιμές MD5, SHA-1 και SHA-256 ολόκληρου του αρχείου APK. Κατά τη διάρκεια αυτής της διαδικασίας, εμφανίζεται η ένδειξη προόδου Υπολογισμός file hashes — ‹percent›%.

Κανόνες σφαλμάτων και εξαιρέσεις αρχείων

Το εργαλείο εφαρμόζει αυστηρούς κανόνες ελέγχου κατά την εισαγωγή αρχείων:

Κατάσταση / Τύπος Αρχείου Μήνυμα Σφάλματος
Αρχείο άνω των 500 MB "Αυτό το αρχείο υπερβαίνει τα 500 MB — είναι μεγαλύτερο από αυτό που μπορεί να επιθεωρήσει με ασφάλεια μια καρτέλα προγράμματος περιήγησης."
Διαμερισμένο πακέτο (XAPK, APKM) "Αυτό είναι ένα διαμερισμένο πακέτο XAPK — ένα κοντέινερ πολλών APK. Εξάγετε το βασικό APK και επιθεωρήστε αυτό το αρχείο αντί αυτού."
Android App Bundle (.aab) "Αυτό είναι ένα Android App Bundle (.aab) — μια μορφή δημοσίευσης, όχι ένα εγκαταστάσιμο APK. Επιθεωρήστε το δομημένο APK αντί αυτού."
Μη έγκυρη δομή APK "Αυτό δεν μοιάζει με APK: δεν βρέθηκε αναγνώσιμο AndroidManifest.xml στο εσωτερικό του."
Κατεστραμμένο ή ελλιπές αρχείο "Το πακέτο φαίνεται κατεστραμμένο ή ελλιπές, οπότε τα περιεχόμενό του δεν μπόρεσε να διαβαστεί."
Αποτυχία ανάγνωσης αρχείου "Το αρχείο δεν μπόρεσε να διαβαστεί. Επιλέξτε το ξανά."
Γενικό σφάλμα ανάλυσης "Η επιθεώρηση απέτυχε. Δοκιμάστε άλλο αρχείο."

Εάν εισαχθούν ταυτόχρονα περισσότερα από ένα αρχεία, το εργαλείο επεξεργάζεται μόνο το πρώτο, εμφανίζοντας τη σημείωση "Ένα αρχείο τη φορά — γίνεται επιθεώρηση του πρώτου.".

Συχνές Ερωτήσεις (FAQ)

Τι μπορώ να μάθω από ένα APK χωρίς να το εγκαταστήσω; Αρκετά πράγματα: το όνομα πακέτου και την έκδοση της εφαρμογής, τις εκδόσεις Android που χρειάζεται, κάθε δικαίωμα που ζητά, τις οθόνες και τα στοιχεία παρασκηνίου που δηλώνει, τους τύπους επεξεργαστών για τους οποίους διαθέτει εγγενή κώδικα, καθώς και τα πιστοποιητικά με τα οποία υπογράφηκε.

Μπορεί αυτό το εργαλείο να μου πει αν ένα APK είναι malware; Όχι — και να είστε επιφυλακτικοί με οποιοδήποτε εργαλείο υπόσχεται ασφαλή διάγνωση από μια γρήγορη σάρωση. Αυτό που παίρνετε εδώ είναι τα γεγονότα: δικαιώματα, στοιχεία, υπογράφοντες και hashes. Συγκρίνετέ τα με αυτά που δημοσιεύει ο προγραμματιστής και αντιμετωπίστε τυχόν απροσδόκητα δικαιώματα ή διαφορετικό υπογράφοντα από την επίσημη κυκλοφορία ως λόγους για να μην προχωρήσετε.

Ποια αρχεία υποστηρίζονται; Απλά αρχεία APK έως 500 MB. Τα διαμερισμένα πακέτα (XAPK, APKM) και τα Android App Bundles (.aab) είναι κοντέινερ ή μορφές δημοσίευσης και όχι ένα ενιαίο εγκαταστάσιμο πακέτο, οπότε απορρίπτονται με ένα σαφές μήνυμα αντί για μια συγκεχυμένη αναφορά.

Τι μου λένε οι λεπτομέρειες υπογραφής; Κάθε εφαρμογή Android είναι υπογεγραμμένη και το πιστοποιητικό προσδιορίζει ποιος τη δημοσίευσε. Βλέπετε ποια σχήματα υπογραφής φέρει το πακέτο (v1, v2, v3) καθώς και το θέμα, το παράθυρο εγκυρότητας και τα αποτυπώματα MD5, SHA-1 και SHA-256 κάθε υπογράφοντος. Δύο APK με ταιριαστά αποτυπώματα προέρχονται από τον ίδιο εκδότη — το αν εμπιστεύεστε αυτόν τον εκδότη εξαρτάται από εσάς.

Τι σημαίνει η ετικέτα «Επικίνδυνο» (Dangerous) σε ένα δικαίωμα; Είναι η επίσημη ταξινόμηση του Android: τα επικίνδυνα δικαιώματα μπορούν να αποκτήσουν πρόσβαση σε προσωπικά δεδομένα — τοποθεσία, επαφές, κάμερα, μικρόφωνο, αποθηκευτικός χώρος — οπότε το σύστημα ρωτά τον χρήστη πριν τα παραχωρήσει. Η ετικέτα δεν αποτελεί κατηγορία· μια εφαρμογή χαρτών που ζητά τοποθεσία είναι φυσιολογικό. Απλώς επισημαίνει τα δικαιώματα που αξίζει να διαβάσετε διπλά.