Τι είναι η επέκταση αρχείου APK; Πώς να ανοίξετε το APK; Αρχείο με επέκταση apk.

Μπορείτε να συναντήσετε ένα αρχείο επέκτασης APK, για παράδειγμα, εάν αποφασίσετε να εγκαταστήσετε μια εφαρμογή στον υπολογιστή σας που χρησιμοποιήσατε στο tablet σας. Μετά τη λήψη ενός αρχείου από το Διαδίκτυο, θα έρθει η ώρα να σκεφτείτε πώς να ανοίξετε το αρχείο apk στον υπολογιστή σας;

Τι είναι ένα αρχείοAPKκαι ο σκοπός του

Το APK (συντομογραφία για το Android Package) είναι μια μορφή αρχειοθετημένων αρχείων εφαρμογών για Android. Κάθε εφαρμογή γραμμένη για Android, μετά τη μεταγλώττιση, συσκευάζεται σε ένα αρχείο αυτής της επέκτασης. Το όνομα αρχείου μπορεί να είναι οτιδήποτε, αλλά η επέκταση πρέπει να είναι .APK.

Η κρυπτογράφηση δεν χρησιμοποιείται κατά την αποθήκευση δεδομένων σε αρχείο αυτού του τύπου.

Έτσι, κάθε αρχείο .apk είναι ένα αρχείο που μπορεί να εκτελεστεί από το DalvikVM (εικονική μηχανή) και μπορεί να εγκατασταθεί όχι μόνο σε λειτουργικό σύστημα Android.

Τα αρχεία APK αποθηκεύονται στο σύστημα στον κατάλογο /data/app, ο οποίος είναι προσβάσιμος μόνο μέσω του Explorer.

Για να αναπτύξετε τις δικές σας εφαρμογές, μπορείτε να χρησιμοποιήσετε το Android SDK της Google, ένα περιβάλλον ανάπτυξης.

Μπορείτε να κάνετε λήψη αρχείων αυτής της επέκτασης είτε από το σημείο που είναι αποθηκευμένα είτε από πόρους τρίτων στο Διαδίκτυο (κάτι που δεν είναι επιθυμητό). Μετά τη λήψη, μπορείτε να εγκαταστήσετε με μη αυτόματο τρόπο την εφαρμογή που περιέχεται στο αρχείο apk στο tablet ή το smartphone σας. Δεν συνιστάται η εγκατάσταση εφαρμογών από άγνωστες πηγές - ενδέχεται να περιέχουν κακόβουλο κώδικα, ενώ όλες οι εφαρμογές που είναι διαθέσιμες μέσω του Google Play είναι ελεγμένες και υπογεγραμμένες. Η διαδικασία εγκατάστασης της εφαρμογής Android APK σε tablet ή smartphone μέσω USB περιγράφεται παρακάτω:

  1. Πρέπει να αντιγράψετε το αρχείο .APK στη συσκευή με οποιονδήποτε βολικό τρόπο (μέσω USB, μεταφορά μέσω Wi-Fi κ.λπ.).
  2. Χρησιμοποιώντας τη διαχείριση αρχείων, μεταβείτε στον κατάλογο όπου αποθηκεύτηκε η εφαρμογή.
  3. Ανοίξτε το επιλεγμένο αρχείο apk.

Ορισμένοι κατασκευαστές απενεργοποιούν τη δυνατότητα εγκατάστασης εφαρμογών από άγνωστες πηγές. Εάν πρέπει να ενεργοποιήσετε αυτήν τη δυνατότητα, μεταβείτε στις Ρυθμίσεις. Επιλέξτε την ενότητα "Ασφάλεια", επιλέξτε την επιλογή "Να επιτρέπεται η εγκατάσταση εφαρμογών που δεν λαμβάνονται από το Market".

Εκμάθηση βίντεο σε μορφή αρχείου APK

Δείτε τα περιεχόμενα του αρχείουAPK

Αναρωτιέστε ποιο πρόγραμμα να ανοίξετε ένα αρχείο apk για να δείτε τι υπάρχει μέσα;

Δεδομένου ότι τα αρχεία .APK χρησιμοποιούν αλγόριθμους συμπίεσης παρόμοιους με το ZIP, τα περιεχόμενα τέτοιων αρχείων μπορούν να ληφθούν χρησιμοποιώντας σχεδόν κάθε αρχειοθέτη - .

Για να προβάλετε τα περιεχόμενα ενός αρχείου χρησιμοποιώντας έναν από τους καθορισμένους αρχειοθέτες, πρέπει να αλλάξετε την επέκταση APK σε ZIP.

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

Αναρωτιέστε πώς να ανοίξετε ένα αρχείο apk στον υπολογιστή σας; Παρακάτω είναι μια λίστα που θα σας βοηθήσει με την εγκατάσταση - θα σας δείξει πώς να ανοίξετε το αρχείο τόξου σε οποιοδήποτε απαιτούμενο λειτουργικό σύστημα.

Λοιπόν, πώς να ανοίξετε αρχεία APK σε διαφορετικές πλατφόρμες:


Πού αλλού μπορείτε να συναντήσετε αρχεία;APK?

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

  1. Ως αρχείο για την υπηρεσία παιχνιδιών arcade GameSpy. Αυτή η επέκταση χρησιμοποιείται σε ένα παιχνίδι shareware MMO. Το βοηθητικό πρόγραμμα, το οποίο επιτρέπει στους παίκτες να βρίσκουν διαθέσιμα παιχνίδια για πολλούς παίκτες, να συνδέονται μαζί τους και να επικοινωνούν μεταξύ των παικτών, χρησιμοποιεί αρχεία επέκτασης APK που αποθηκεύουν δεδομένα υπηρεσίας.
  2. Αποθήκευση έργων Active Tutor - ένα περιβάλλον που παρέχει εργαλεία για ανάπτυξη πολυμέσων (Creator - 4C Soft Inc.).
  3. Αποθήκευση δεδομένων δραστηριότητας. Τα αρχεία APK χρησιμοποιούνται επίσης στο παιχνίδι προσομοίωσης τρένου (Microsoft Train Simulator), που κυκλοφόρησε το 2001.

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

APK. Πώς να το ανοίξετε;

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

Τι είναι το APK;

Διαβάστε επίσης:[Οδηγίες] Πώς να ανακτήσετε τα διαγραμμένα αρχεία στο Android: Προγράμματα για τηλέφωνο και υπολογιστή

Το Android Package Kit (APK) είναι μια εκτελέσιμη μορφή αρχείου για το λειτουργικό σύστημα. Είναι ένα αρχείο που περιέχει τα δεδομένα πηγής της εφαρμογής (κώδικας προγράμματος, μεταγλωττισμένα αρχεία πόρων, ρυθμίσεις, στοιχεία, βιβλιοθήκες).

Ιδιαιτερότητες:

  • Δεν είναι δυνατή η μετατροπή σε άλλη μορφή.
  • Αρχειοθετήθηκε χρησιμοποιώντας τη δυνατότητα συμπίεσης που βασίζεται σε JAR.
  • Είναι ένα υποσύνολο της μορφής ZIP.
  • Μπορεί να αλλάξει χρησιμοποιώντας το Google Android SDK, την προσθήκη Eclipse με ADT.
  • Τα αρχεία από το αρχείο APK δεν είναι κρυπτογραφημένα.

Τα αρχεία με την επέκταση APK αποθηκεύονται στο Google Play και σε άλλα καταστήματα εφαρμογών για συσκευές Android. Αποσυσκευάζονται και εγκαθίστανται αυτόματα, χωρίς τη χρήση πρόσθετου λογισμικού. Τα δεδομένα αποθηκεύονται στον ριζικό φάκελο στο /data/app. Μπορείτε να έχετε πρόσβαση σε αυτά μόνο μέσω του Explorer.

Για την ανάπτυξη εφαρμογών Android με επέκταση APK, χρησιμοποιείται το Android SDK της Google. Είναι διαθέσιμο για δωρεάν λήψη από τον επίσημο ιστότοπο και βασίζεται σε Java.

Πώς να ανοίξετε στο τηλέφωνό σας

Διαβάστε επίσης: RAR για Android: Πώς να χρησιμοποιήσετε την αρχειοθέτηση σε κινητό

Πώς να ανοίξετε ένα αρχείο APK στο τηλέφωνό σας

Εάν γίνει λήψη μιας εφαρμογής για κινητά για την πλατφόρμα Android από πόρο ή υπολογιστή τρίτου κατασκευαστή, τότε θα έχει επέκταση apk. Στη συνέχεια, μπορείτε να το εγκαταστήσετε στο τηλέφωνό σας με μη αυτόματο τρόπο.

Πώς να ανοίξετε αρχείο apk από το τηλέφωνο:

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

Μορφή APK

Εάν δεν μπορείτε να αντιγράψετε το πακέτο APK μέσω USB, στείλτε το μέσω Bluetooth ή e-mail. Ή συνδέστε ξεχωριστά μια κάρτα mini SD στον υπολογιστή σας χρησιμοποιώντας έναν προσαρμογέα και μεταφέρετε το αρχείο σε αυτόν.

Σφάλμα κατά το άνοιγμα

Διαβάστε επίσης: TOP 10 διαχειριστές αρχείων για Android: επιλέγοντας τον καλύτερο για τον εαυτό σας | Ανασκόπηση αγγλικών και ρωσικών εκδόσεων

Πώς να επιτρέψετε την εγκατάσταση από άγνωστες πηγές

Εάν, μετά την αντιγραφή του αρχείου APK στη συσκευή, δεν μπορεί να εκκινηθεί, τότε πιθανότατα η δυνατότητα εγκατάστασης μέσω απενεργοποιήθηκε από τον κατασκευαστή.

Ακολουθήστε αυτά τα βήματα για να το ενεργοποιήσετε:

  • Μεταβείτε στο μενού Ρυθμίσεις και βρείτε την κατηγορία Προσωπικές Πληροφορίες εδώ.
  • Επιλέξτε "Ασφάλεια" και επιλέξτε το πλαίσιο δίπλα του "Άγνωστες πηγές (επιτρέπεται η εγκατάσταση από άγνωστες πηγές)".
  • Εκκινήστε το αρχείο APK και συνεχίστε με την εγκατάσταση.

Εάν εμφανιστεί κάποιο σφάλμα, τότε στο ίδιο μενού καταργήστε την επιλογή του πλαισίου δίπλα "Έλεγχος εφαρμογών". Τότε το Android δεν θα απαγορεύσει εγκαταστάσεις που θα μπορούσαν να βλάψουν τη συσκευή. Χρησιμοποιήστε αυτήν τη μέθοδο μόνο εάν είστε βέβαιοι ότι το αρχείο APK που εγκαθιστάτε είναι ασφαλές.

άλλες μεθόδους

Διαβάστε επίσης: TOP 15 καλύτερα δωρεάν προγράμματα προστασίας από ιούς για gadget Android το 2019

Εάν θέλετε να δείτε τα περιεχόμενα του αρχείου APK από το τηλέφωνό σας, μπορείτε να χρησιμοποιήσετε την έκδοση για κινητά ή ειδικό λογισμικό για αυτό.

Ας δούμε τα πιο δημοφιλή προγράμματα που σας επιτρέπουν να επεξεργάζεστε πακέτα apk:

  • Επεξεργαστής APK

Διεπαφή προγράμματος APK Editor

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

  • DroidEdit Δωρεάν

Δωρεάν διεπαφή προγράμματος DroidEdit

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

  • SmartAPKTool

Διασύνδεση SmartAPKTool

Σας επιτρέπει να υπογράφετε αρχεία σε μορφές APK, ZIP. Αποσυσκευάστε και συσκευάστε το APK. Κατάλληλο για προεπεξεργασία εφαρμογών. Το SmartAPKTool ενδέχεται να απαιτεί πρόσθετο λογισμικό (ApkTool, εικονική μηχανή Java) για να λειτουργήσει.

Μετά από αυτό, θα μπορείτε να αλλάξετε τις υπάρχουσες γραμμές κώδικα και ειδοποιήσεις. Σε ορισμένες εφαρμογές, μπορείτε να προσθέσετε πρόσθετες ενέργειες ή να αφαιρέσετε υπάρχουσες (για παράδειγμα, προβολή διαφημίσεων). Λάβετε υπόψη ότι μετά από αυτό θα είναι διαφορετικό από το αρχικό, επομένως δεν θα μπορείτε πλέον να το ενημερώσετε μέσω του Google Play.

Πώς να εξαγάγετε το APK

Διαβάστε επίσης: Πώς να αφαιρέσετε έναν ιό από το Android στο τηλέφωνό σας: Οδηγίες 2019

Διασύνδεση εξαγωγής APK

Εάν πρέπει να λάβετε το APK μιας εφαρμογής που είναι ήδη εγκατεστημένη στο τηλέφωνό σας, μπορείτε να το κάνετε χρησιμοποιώντας ειδικό λογισμικό. Υπάρχουν πολλά δωρεάν προγράμματα στο Play Market, αλλά θα χρησιμοποιήσουμε το APK Extractor για αυτόν τον σκοπό.

Η διαδικασία θα είναι η εξής:

Πώς να εξαγάγετε apk χρησιμοποιώντας το APK Extractor

Πώς να ανοίξετε σε έναν υπολογιστή

Διαβάστε επίσης:[Οδηγίες] Πώς να μεταφέρετε μια εφαρμογή στην κάρτα μνήμης ενός smartphone Android: 4 εύκολοι τρόποι | 2019

Αρχεία APK

Μπορείτε να αποσυμπιέσετε το αρχείο APK για να προβάλετε ή να επεξεργαστείτε τα περιεχόμενα χρησιμοποιώντας μια κανονική αρχειοθέτηση. Ωστόσο, δεν θα μπορείτε να εγκαταστήσετε ή να εκκινήσετε την εφαρμογή. Για αυτό χρειάζεστε ειδικό λογισμικό.

Πώς να ανοίξετε το APK σε διαφορετικά λειτουργικά συστήματα:

  • Windows - 7-Zip, WinRAR.
  • Linux - 7-Zip, αποσυμπιέστε.
  • MacOS - Βοηθητικό πρόγραμμα αρχειοθέτησης.

Εάν, κατά την εγκατάσταση του αρχειοθέτη, δεν διαμορφώθηκαν οι επεκτάσεις (οι οποίες θα συσχετιστούν από προεπιλογή), τότε το πρόγραμμα ενδέχεται να μην αναγνωρίσει το αρχείο apk. Τότε θα είναι «άγνωστης» μορφής.

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

Εξομοιωτές για την εκτέλεση αρχείων APK σε υπολογιστή

Διαβάστε επίσης: Εγκατάσταση Android σε υπολογιστή: TOP 10 εξομοιωτές στα Windows

Εάν θέλετε να το εγκαταστήσετε στον υπολογιστή σας, το αρχείο θα έχει επέκταση APK. Για να το εγκαταστήσετε, θα χρειαστείτε έναν ειδικό εξομοιωτή. Διατίθενται για δωρεάν λήψη.

Διεπαφή BlueStacks

Έχει καλές επιδόσεις σε παιχνίδια και σας επιτρέπει να εκτελείτε εφαρμογές με ένταση πόρων. Το κύριο χαρακτηριστικό είναι η λειτουργία Bluestacks TV. Απαιτείται για διαδικτυακές εκπομπές στο .

Χρησιμοποιώντας έναν εξομοιωτή, μπορείτε να εκκινήσετε εφαρμογές για κινητά μέσω πακέτων apk ή να τις εγκαταστήσετε απευθείας από το Play Market. Για να χρησιμοποιήσετε τις υπηρεσίες Google, θα χρειαστεί να συνδεθείτε με έναν λογαριασμό.

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

Δεν γνωρίζουν καν όλοι οι κάτοχοι συσκευών με λειτουργικό σύστημα Android τι είναι ένα αρχείο APK. Τι μπορούμε να πούμε για όσους δεν έχουν χρησιμοποιήσει ποτέ τηλέφωνα ή tablet με αυτό το σύστημα. Ωστόσο, ακόμη και οι κάτοχοι υπολογιστών με Windows μπορούν να αντλήσουν πολλά χρήσιμα πράγματα από τα αρχεία APK.

Αρχικά, ας καταλάβουμε τι είναι τα αρχεία.

Το Android Package είναι μια επέκταση αρχείου που χρησιμοποιείται για τη διανομή προγραμμάτων για οποιαδήποτε συσκευή στην οποία είναι εγκατεστημένο το Android. Στα Windows, για να εγκαταστήσετε το πρόγραμμα πρέπει να βρείτε το αρχείο .exe. Στο Android, πρέπει να βρείτε ένα APK για αυτό. Τέτοια αρχεία διανέμονται μέσω τοποθεσιών με λογισμικό για τηλέφωνα ή σε ειδικά φόρουμ.

Το Android Package είναι ένα αρχείο που αποθηκεύει την ίδια την εφαρμογή και όλα τα απαραίτητα αρχεία για τη λειτουργία της. .

Γιατί χρειάζονται και γιατί μπορούν να είναι χρήσιμα στους κατόχους απλών υπολογιστών;

Πολλές ενδιαφέρουσες και ασυνήθιστες εφαρμογές έχουν ήδη γραφτεί για συσκευές με Android OS. Τα περισσότερα από αυτά δεν έχουν έκδοση για υπολογιστές. Σε αυτήν την περίπτωση, εάν θέλετε να παίξετε το αγαπημένο σας παιχνίδι στο τηλέφωνό σας, αλλά δεν το έχετε στη διάθεσή σας, θα χρειαστεί να εγκαταστήσετε το αρχείο APK στον υπολογιστή σας.

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

Σπουδαίος!Τα αρχεία που μας ενδιαφέρουν δεν έχουν καμία πρόσθετη κρυπτογράφηση. Ένα αρχείο APK δεν είναι τίποτα άλλο από ένα αρχείο στο οποίο αποθηκεύονται τα δεδομένα της εφαρμογής.

Προβολή περιεχομένου

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


Μπορείτε επίσης να αποσυσκευάσετε αυτό το αρχείο στον υπολογιστή σας και να αποκτήσετε πρόσβαση σε αυτό ανά πάσα στιγμή.

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

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

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

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

Ο πιο διάσημος, διαδεδομένος και χρησιμοποιούμενος εξομοιωτής είναι το Bluestacks.

Αρχικά, θα ανοίξουμε το αρχείο μας σε αυτό.


Σπουδαίος!Το Bluestacks είναι ιδανικό για άνοιγμα παιχνιδιών και χρησιμοποιείται συχνότερα για αυτό. Τα μειονεκτήματα της εφαρμογής περιλαμβάνουν μια υπερβολικά ακατάστατη διεπαφή σε ορισμένα σημεία και μια μεγάλη ποσότητα περιττών πληροφοριών, που δεν θα είναι χρήσιμες σε όλους.

Nox App Player

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


Προβολή περιεχομένου στο Android

Για να προβάλουμε τα περιεχόμενα του αρχείου apk και να μην το εγκαταστήσουμε πλήρως, θα μας βοηθήσει ένα ισχυρό πρόγραμμα Επεξεργαστής apkγια αντρόιντ. Χρειαζόμαστε λοιπόν:


Η εγκατάσταση εφαρμογών smartphone στη συσκευή σας δεν είναι τόσο δύσκολη. Οποιοσδήποτε χρήστης μπορεί να το κάνει αυτό.

Βίντεο - Πώς να ανοίξετε ένα αρχείο apk σε έναν υπολογιστή

Κατά τη λήψη εφαρμογών smartphone μέσω υπολογιστή, ένας χρήστης μπορεί να διαπιστώσει ότι το αρχείο εγκατάστασής του έχει επέκταση APK. Λίγοι γνωρίζουν, αλλά αυτή η μορφή μπορεί να ξεκινήσει όχι μόνο στο Android, αλλά και στα Windows, και πώς να το κάνετε αυτό θα περιγραφεί περαιτέρω στο κείμενο.

Τι είναι το APK

Πριν αρχίσουμε να εξετάζουμε τρόπους εκκίνησης αρχείων APK σε μια επιτραπέζια συσκευή, αξίζει να πούμε ποια είναι στην πραγματικότητα αυτή η μορφή.

Έτσι, το πλήρες όνομά του είναι Android Package. Κατά συνέπεια, από αυτό μπορούμε ήδη να συμπεράνουμε ότι προορίζεται να λειτουργήσει στο πλαίσιο ενός λειτουργικού συστήματος για κινητά. Εδώ μπορούμε να σχεδιάσουμε μια αναλογία με τη μορφή EXE, η οποία χρησιμοποιείται στα Windows και είναι πρόγραμμα εγκατάστασης για μια εφαρμογή. Ομοίως, ένα APK είναι ένα αρχείο με όλα τα αρχεία προγράμματος, καθώς και οδηγίες για την εξαγωγή τους. Με απλά λόγια, είναι ένα πρόγραμμα εγκατάστασης εφαρμογών για Android.

Πώς να ανοίξετε ένα αρχείο APK σε έναν υπολογιστή

Στην αρχή του άρθρου ειπώθηκε ότι τα αρχεία APK μπορούν να εκτελεστούν όχι μόνο σε smartphone με Android, αλλά και σε Windows. Φυσικά, αυτό θα απαιτήσει πρόσθετα εργαλεία. Μπορούν να χωριστούν σε δύο κατηγορίες:

  • για να δείτε τη λίστα των εγκατεστημένων αρχείων.
  • για να εγκαταστήσετε την εφαρμογή.

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

Χρήση αρχείων αρχειοθέτησης

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

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

  1. Κάντε δεξί κλικ (RMB) στο αρχείο APK.
  2. Επιλέξτε την επιλογή "Ιδιότητες" από το μενού.
  3. Στο παράθυρο που ανοίγει, μεταβείτε στην καρτέλα "Γενικά".
  4. Απέναντι από τη γραμμή "Εφαρμογή", κάντε κλικ στο κουμπί "Αλλαγή".
  5. Θα εμφανιστεί ένα παράθυρο διαλόγου στο οποίο πρέπει να επιλέξετε ένα πρόγραμμα για να ανοίξετε το αρχείο. Εάν το WinRAR δεν είναι στη λίστα, τότε καθορίστε την απευθείας διαδρομή προς αυτό κάνοντας κλικ στο σύνδεσμο «Εύρεση άλλης εφαρμογής σε αυτόν τον υπολογιστή».
  6. Θα ανοίξει ένα παράθυρο διαχείρισης αρχείων. Σε αυτό πρέπει να μεταβείτε στον κατάλογο με το εκτελέσιμο αρχείο WinRAR. Από προεπιλογή, βρίσκεται στην ακόλουθη διαδρομή: "C:\Program Files\WinRAR\".
  7. Πηγαίνοντας στο φάκελο με τον αρχειοθέτη, επιλέξτε το εκτελέσιμο αρχείο και κάντε κλικ στο κουμπί "Άνοιγμα".
  8. Στο παράθυρο Ιδιότητες, κάντε κλικ στο Εφαρμογή και μετά στο OK.

Αφού ακολουθήσετε αυτήν την οδηγία, όλα τα αρχεία που έχουν την επέκταση APK θα εκκινηθούν μέσω του αρχειοθέτη, απλά πρέπει να κάνετε διπλό κλικ πάνω τους με το αριστερό κουμπί του ποντικιού (LMB).

Εκκίνηση του εξομοιωτή

Εάν ο σκοπός της λήψης του αρχείου APK στον υπολογιστή σας ήταν να το εγκαταστήσετε περαιτέρω και όχι να το ανοίξετε, τότε θα χρειαστεί να χρησιμοποιήσετε έναν εξομοιωτή λειτουργικού συστήματος Windows. Υπάρχουν πολλά από αυτά στην αγορά λογισμικού, επομένως δεν θα ληφθούν υπόψη όλα στο άρθρο, αλλά μόνο τα πιο δημοφιλή.

BlueStacks

Το BlueStacks είναι ο πιο δημοφιλής εξομοιωτής Android, επομένως είναι ένα έξυπνο μέρος για να ξεκινήσετε. Επομένως, για να εγκαταστήσετε μια εφαρμογή Android στην επιφάνεια εργασίας των Windows, πρέπει να ακολουθήσετε αυτά τα βήματα:

  1. Εκκινήστε το BlueStacks.
  2. Στο αριστερό πλαίσιο με μια λίστα εργαλείων, κάντε κλικ στο κουμπί "APK".
  3. Θα ανοίξει ένα παράθυρο διαχείρισης αρχείων, στο οποίο πρέπει να μεταβείτε στον φάκελο με το αρχείο APK που έχετε κατεβάσει προηγουμένως.
  4. Επιλέξτε την εφαρμογή Android και κάντε κλικ στο κουμπί "Άνοιγμα".
  5. Θα ξεκινήσει η διαδικασία εγκατάστασης της εφαρμογής στο BlueStacks, περιμένετε να ολοκληρωθεί.
  6. Το μενού του εξομοιωτή θα εμφανίσει το εικονίδιο του πρόσφατα εγκατεστημένου προγράμματος, κάντε κλικ σε αυτό για εκκίνηση.

Droid4X

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

  1. Εγκαταστήστε το πρόγραμμα Droid4X στον υπολογιστή σας.
  2. Ανοίξτε τη Διαχείριση αρχείων της Εξερεύνησης αρχείων.
  3. Μεταβείτε στο φάκελο με το ληφθέν αρχείο APK.
  4. Κάντε δεξί κλικ πάνω του.
  5. Στο μενού περιβάλλοντος, επιλέξτε "Παίξτε με το Droid4X".
  6. Θα ξεκινήσει η διαδικασία εγκατάστασης της εφαρμογής για κινητά. Περιμένετε να ολοκληρωθεί.
  7. Κάντε κλικ στο LMB στο εικονίδιο του εγκατεστημένου προγράμματος στο μενού του εξομοιωτή.

Genymotion

Χρησιμοποιώντας τον εξομοιωτή Genymotion, η εγκατάσταση ενός αρχείου APK σε έναν υπολογιστή είναι πολύ πιο δύσκολη, αλλά εξακολουθεί να είναι μια καλή εναλλακτική σε σχέση με τις προηγούμενες μεθόδους. Ωστόσο, σημειώστε ότι πρέπει πρώτα να δημιουργήσετε έναν λογαριασμό στον ιστότοπο Genymotion και να εγκαταστήσετε την εικονική μηχανή VirtualBox.

  1. Εκκινήστε το Genymotion.
  2. Κάντε κλικ στο κουμπί "Προσθήκη" στον επάνω πίνακα.
  3. Στο παράθυρο που εμφανίζεται, κάντε κλικ στο «Επόμενο».
  4. Στη συνέχεια, κάντε επίσης κλικ στο "Επόμενο".
  5. Περιμένετε να ολοκληρωθεί η λήψη και στο παράθυρο του VirtualBox που ανοίγει, κάντε κλικ στο κουμπί «Εκκίνηση».
  6. Επιστρέψτε στο παράθυρο Genymotion και κάντε κλικ στο κουμπί "Έναρξη".
  7. Θα εμφανιστεί ένα παράθυρο εξομοίωσης Android. Για να εγκαταστήσετε το APK, πρέπει πρώτα να εγκαταστήσετε το Genymotion ARM Translation. Για να το κάνετε αυτό, ανοίξτε το φάκελο με αυτό το αρχείο και σύρετέ τον με το ποντίκι στο παράθυρο του εξομοιωτή.
  8. Επανεκκινήστε τον εξομοιωτή και την εικονική μηχανή.
  9. Ανοίξτε το φάκελο με το αρχείο APK και σύρετέ τον στο παράθυρο του εξομοιωτή.

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

Μερικές φορές ορισμένες εφαρμογές στο Android δεν ταιριάζουν με κάποιο τρόπο στον χρήστη. Ένα παράδειγμα είναι η παρεμβατική διαφήμιση. Και συμβαίνει επίσης το πρόγραμμα να είναι καλό για όλους, αλλά η μετάφραση σε αυτό είτε είναι στραβή είτε απουσιάζει εντελώς. Ή, για παράδειγμα, το πρόγραμμα είναι δοκιμαστικό, αλλά δεν υπάρχει τρόπος να αποκτήσετε την πλήρη έκδοση. Πώς να αλλάξετε την κατάσταση;

Εισαγωγή

Σε αυτό το άρθρο θα μιλήσουμε για το πώς να αποσυναρμολογήσουμε ένα πακέτο APK με μια εφαρμογή, να δούμε την εσωτερική του δομή, να αποσυναρμολογήσουμε και να απομεταγλωττίσουμε τον bytecode και επίσης να προσπαθήσουμε να κάνουμε αρκετές αλλαγές στις εφαρμογές που μπορούν να μας φέρουν το ένα ή το άλλο όφελος.

Για να τα κάνετε όλα αυτά μόνοι σας, θα χρειαστείτε τουλάχιστον βασικές γνώσεις της γλώσσας Java, στην οποία είναι γραμμένες οι εφαρμογές Android, και της γλώσσας XML, που χρησιμοποιείται παντού στο Android - από την περιγραφή της ίδιας της εφαρμογής και των δικαιωμάτων πρόσβασής της μέχρι την αποθήκευση συμβολοσειρών που θα εμφανιστεί στην οθόνη. Θα χρειαστείτε επίσης τη δυνατότητα χρήσης εξειδικευμένου λογισμικού κονσόλας.

Λοιπόν, τι είναι ένα πακέτο APK στο οποίο διανέμεται απολύτως όλο το λογισμικό Android;

Αποσυμπίληση εφαρμογής

Σε αυτό το άρθρο, δουλέψαμε μόνο με αποσυναρμολογημένο κώδικα εφαρμογής, αλλά αν γίνουν πιο σοβαρές αλλαγές σε μεγάλες εφαρμογές, η κατανόηση του κώδικα smali θα είναι πολύ πιο δύσκολη. Ευτυχώς, μπορούμε να απομεταγλωττίσουμε τον κώδικα dex σε κώδικα Java, ο οποίος, αν και δεν είναι πρωτότυπος και δεν έχει μεταγλωττιστεί ξανά, είναι πολύ πιο εύκολο να διαβαστεί και να κατανοηθεί η λογική της εφαρμογής. Για να γίνει αυτό, θα χρειαστούμε δύο εργαλεία:

  • Το dex2jar είναι ένας μεταφραστής του bytecode Dalvik σε bytecode JVM, βάσει του οποίου μπορούμε να λάβουμε κώδικα στη γλώσσα Java.
  • Το jd-gui είναι ένας ίδιος ο απομεταγλωττιστής που σας επιτρέπει να λαμβάνετε αναγνώσιμο κώδικα Java από τον bytecode JVM. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το Jad (www.varaneckas.com/jad). Αν και είναι αρκετά παλιό, σε ορισμένες περιπτώσεις δημιουργεί πιο ευανάγνωστο κώδικα από το Jd-gui.

Έτσι πρέπει να χρησιμοποιούνται. Αρχικά, εκκινούμε το dex2jar, καθορίζοντας τη διαδρομή προς το πακέτο apk ως όρισμα:

% dex2jar.sh mail.apk

Ως αποτέλεσμα, το πακέτο Java mail.jar θα εμφανιστεί στον τρέχοντα κατάλογο, ο οποίος μπορεί ήδη να ανοίξει στο jd-gui για να προβάλετε τον κώδικα Java.

Τακτοποίηση πακέτων APK και λήψη τους

Ένα πακέτο εφαρμογών Android είναι ουσιαστικά ένα κανονικό αρχείο ZIP που δεν απαιτεί ειδικά εργαλεία για την προβολή του περιεχομένου του ή την εξαγωγή του. Αρκεί να έχετε έναν αρχειοθέτη - 7zip για Windows ή αποσυμπίεση κονσόλας στο Linux. Αλλά πρόκειται για το περιτύλιγμα. Τι είναι μέσα? Γενικά, έχουμε την ακόλουθη δομή στο εσωτερικό:

  • META-INF/- περιέχει ψηφιακό πιστοποιητικό της εφαρμογής, με ταυτοποίηση του δημιουργού της και αθροίσματα ελέγχου των αρχείων του πακέτου.
  • res/ - διάφορους πόρους που χρησιμοποιεί η εφαρμογή στην εργασία της, όπως εικόνες, δηλωτική περιγραφή της διεπαφής, καθώς και άλλα δεδομένα.
  • AndroidManifest.xml- περιγραφή της αίτησης. Αυτό περιλαμβάνει, για παράδειγμα, μια λίστα με τα απαιτούμενα δικαιώματα, την απαιτούμενη έκδοση Android και την απαιτούμενη ανάλυση οθόνης.
  • τάξεις.dex- μεταγλωττισμένο bytecode εφαρμογής για την εικονική μηχανή Dalvik.
  • πόροι.arsc- επίσης πόροι, αλλά διαφορετικού είδους - συγκεκριμένα, συμβολοσειρές (ναι, αυτό το αρχείο μπορεί να χρησιμοποιηθεί για ρωσοποίηση!).

Τα αρχεία και οι κατάλογοι που αναφέρονται βρίσκονται, αν όχι σε όλα, τότε, ίσως, στη συντριπτική πλειοψηφία των APK. Ωστόσο, υπάρχουν μερικά ακόμη όχι και τόσο συνηθισμένα αρχεία/κατάλογοι που αξίζει να αναφερθούν:

  • περιουσιακά στοιχεία- ανάλογο πόρων. Η κύρια διαφορά είναι ότι για να αποκτήσετε πρόσβαση σε έναν πόρο πρέπει να γνωρίζετε το αναγνωριστικό του, αλλά η λίστα των στοιχείων μπορεί να ληφθεί δυναμικά χρησιμοποιώντας τη μέθοδο AssetManager.list() στον κώδικα της εφαρμογής.
  • lib- εγγενείς βιβλιοθήκες Linux γραμμένες με χρήση NDK (Native Development Kit).

Αυτός ο κατάλογος χρησιμοποιείται από παραγωγούς παιχνιδιών που τοποθετούν εκεί τη μηχανή παιχνιδιού γραμμένη σε C/C++, καθώς και από δημιουργούς εφαρμογών υψηλής απόδοσης (για παράδειγμα, Google Chrome). Καταλάβαμε τη συσκευή. Πώς όμως αποκτάτε το αρχείο πακέτου της εφαρμογής που σας ενδιαφέρει; Δεδομένου ότι δεν είναι δυνατή η λήψη αρχείων APK από τη συσκευή χωρίς root (βρίσκονται στον κατάλογο /data/app) και το root δεν είναι πάντα σκόπιμο, υπάρχουν τουλάχιστον τρεις τρόποι για να μεταφέρετε το αρχείο της εφαρμογής στον υπολογιστή σας:

  • Επέκταση APK Downloader για Chrome.
  • Πραγματική εφαρμογή APK Leecher.
  • διάφορα αρχεία φιλοξενίας και Varezniks.

Ποιο να χρησιμοποιήσω είναι θέμα γούστου. προτιμάμε να χρησιμοποιούμε ξεχωριστές εφαρμογές, επομένως θα περιγράψουμε τη χρήση του Real APK Leecher, ειδικά επειδή είναι γραμμένο σε Java και, κατά συνέπεια, θα λειτουργεί είτε σε Windows είτε σε Nix.

Μετά την εκκίνηση του προγράμματος, πρέπει να συμπληρώσετε τρία πεδία: Email, Κωδικός πρόσβασης και Αναγνωριστικό συσκευής - και να επιλέξετε μια γλώσσα. Τα δύο πρώτα είναι το e-mail και ο κωδικός πρόσβασης του λογαριασμού σας Google που χρησιμοποιείτε στη συσκευή. Το τρίτο είναι το αναγνωριστικό συσκευής και μπορείτε να το λάβετε πληκτρολογώντας τον κωδικό στο dialer # #8255## και στη συνέχεια εύρεση της γραμμής Αναγνωριστικό συσκευής. Κατά τη συμπλήρωση, χρειάζεται μόνο να εισαγάγετε το αναγνωριστικό χωρίς το πρόθεμα android.

Μετά τη συμπλήρωση και την αποθήκευση, εμφανίζεται συχνά το μήνυμα "Σφάλμα κατά τη σύνδεση με τον διακομιστή". Δεν έχει καμία σχέση με το Google Play, οπότε μη διστάσετε να το αγνοήσετε και να αναζητήσετε πακέτα που σας ενδιαφέρουν.

Προβολή και Τροποποίηση

Ας υποθέσουμε ότι βρήκατε ένα πακέτο που σας ενδιαφέρει, το κατεβάσατε, το αποσυσκευάσατε... και όταν προσπαθήσατε να δείτε κάποιο αρχείο XML, ανακαλύψατε με έκπληξη ότι το αρχείο δεν ήταν κείμενο. Πώς να το απομεταγλωττίσω και πώς να δουλέψετε με πακέτα γενικά; Είναι πραγματικά απαραίτητο να εγκαταστήσετε το SDK; Όχι, δεν είναι απαραίτητο να εγκαταστήσετε το SDK καθόλου. Στην πραγματικότητα, όλα τα βήματα για την εξαγωγή, την τροποποίηση και τη συσκευασία πακέτων APK απαιτούν τα ακόλουθα εργαλεία:

  • Αρχειοθέτηση ZIPγια αποσυσκευασία και συσκευασία.
  • smali- Dalvik εικονική μηχανή bytecode assembler/disassembler (code.google.com/p/smali);
  • aapt- ένα εργαλείο για τη συσκευασία πόρων (από προεπιλογή, οι πόροι αποθηκεύονται σε δυαδική μορφή για τη βελτιστοποίηση της απόδοσης της εφαρμογής). Περιλαμβάνεται στο Android SDK, αλλά μπορεί να ληφθεί ξεχωριστά.
  • υπογράφων- ένα εργαλείο για την ψηφιακή υπογραφή ενός τροποποιημένου πακέτου (bit.ly/Rmrv4M).

Μπορείτε να χρησιμοποιήσετε όλα αυτά τα εργαλεία ξεχωριστά, αλλά αυτό δεν είναι βολικό, επομένως είναι καλύτερο να χρησιμοποιείτε λογισμικό υψηλότερου επιπέδου που έχει κατασκευαστεί στη βάση τους. Εάν εργάζεστε σε Linux ή Mac OS X, υπάρχει ένα εργαλείο που ονομάζεται apktool. Σας επιτρέπει να αποσυσκευάζετε πόρους στην αρχική τους μορφή (συμπεριλαμβανομένων των δυαδικών αρχείων XML και arsc), να ξαναφτιάχνετε ένα πακέτο με αλλαγμένους πόρους, αλλά δεν γνωρίζει πώς να υπογράφει πακέτα, επομένως θα πρέπει να εκτελέσετε το βοηθητικό πρόγραμμα υπογραφών με μη αυτόματο τρόπο. Παρά το γεγονός ότι το βοηθητικό πρόγραμμα είναι γραμμένο σε Java, η εγκατάστασή του είναι αρκετά μη τυπική. Πρώτα πρέπει να λάβετε το ίδιο το αρχείο jar:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ εξαγωγή PATH=~/bin:$PATH

Εάν εργάζεστε σε Windows, τότε υπάρχει ένα εξαιρετικό εργαλείο για αυτό που ονομάζεται Virtuous Ten Studio, το οποίο επίσης συγκεντρώνει όλα αυτά τα εργαλεία (συμπεριλαμβανομένου του ίδιου του apktool), αλλά αντί για μια διεπαφή CLI παρέχει στον χρήστη μια διαισθητική γραφική διεπαφή με την οποία μπορείτε να εκτελέστε λειτουργίες αποσυσκευασίας, αποσυναρμολόγησης και αποσυμπίλησης με λίγα κλικ. Αυτό το εργαλείο είναι Donation-ware, δηλαδή μερικές φορές εμφανίζονται παράθυρα που σας ζητούν να λάβετε άδεια, αλλά τελικά αυτό μπορεί να γίνει ανεκτή. Δεν έχει νόημα να το περιγράψω, γιατί μπορείτε να κατανοήσετε τη διεπαφή σε λίγα λεπτά. Αλλά το apktool, λόγω της φύσης της κονσόλας, θα πρέπει να συζητηθεί λεπτομερέστερα.


Ας δούμε τις επιλογές του apktool. Με λίγα λόγια, υπάρχουν τρεις βασικές εντολές: d (αποκωδικοποίηση), b (build) και if (εγκατάσταση πλαισίου). Αν όλα είναι ξεκάθαρα με τις δύο πρώτες εντολές, τότε τι κάνει η τρίτη, υπό όρους δήλωση; Αποσυσκευάζει το καθορισμένο πλαίσιο διεπαφής χρήστη, το οποίο είναι απαραίτητο σε περιπτώσεις όπου αναλύετε οποιοδήποτε πακέτο συστήματος.

Ας δούμε τις πιο ενδιαφέρουσες επιλογές της πρώτης εντολής:

  • -μικρό- μην αποσυναρμολογείτε αρχεία dex.
  • -r- μην αποσυσκευάζετε πόρους.
  • -σι- μην εισάγετε πληροφορίες εντοπισμού σφαλμάτων στα αποτελέσματα της αποσυναρμολόγησης του αρχείου dex.
  • --πλαίσιο-διαδρομή- χρησιμοποιήστε το καθορισμένο πλαίσιο διεπαφής χρήστη αντί για αυτό που είναι ενσωματωμένο στο apktool. Τώρα ας δούμε μερικές επιλογές για την εντολή b:
  • -φά- αναγκαστική συναρμολόγηση χωρίς έλεγχο αλλαγών.
  • -ένα- υποδείξτε τη διαδρομή προς το aapt (εργαλείο για τη δημιουργία αρχείου APK), εάν για κάποιο λόγο θέλετε να το χρησιμοποιήσετε από άλλη πηγή.

Η χρήση του apktool είναι πολύ απλή· για να το κάνετε αυτό, απλώς καθορίστε μία από τις εντολές και τη διαδρομή προς το APK, για παράδειγμα:

$ apktool d mail.apk

Μετά από αυτό, όλα τα εξαγόμενα και αποσυναρμολογημένα αρχεία του πακέτου θα εμφανιστούν στον κατάλογο αλληλογραφίας.

Παρασκευή. Απενεργοποίηση διαφήμισης

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


Έτσι, χρησιμοποιώντας μία από τις παραπάνω μεθόδους, κατεβάστε την εφαρμογή από την αγορά. Εάν αποφασίσετε να χρησιμοποιήσετε το Virtuous Ten Studio, απλώς ανοίξτε το αρχείο APK στην εφαρμογή και αποσυμπιέστε το, δημιουργήστε ένα έργο (Αρχείο -> Νέο έργο) και, στη συνέχεια, επιλέξτε Εισαγωγή αρχείου στο μενού περιβάλλοντος του έργου. Εάν η επιλογή σας έπεσε στο apktool, τότε απλώς εκτελέστε μία εντολή:

$ apktool d com.kauf.particle.virtualtorch.apk

Μετά από αυτό, ένα δέντρο αρχείων παρόμοιο με αυτό που περιγράφεται στην προηγούμενη ενότητα θα εμφανιστεί στον κατάλογο com.kauf.particle.virtualtorch, αλλά με έναν πρόσθετο κατάλογο smali αντί για αρχεία dex και ένα αρχείο apktool.yml. Το πρώτο περιέχει αποσυναρμολογημένο κώδικα του εκτελέσιμου αρχείου dex της εφαρμογής, το δεύτερο περιέχει πληροφορίες υπηρεσίας που είναι απαραίτητες για το apktool να συναρμολογήσει το πακέτο πίσω.

Το πρώτο μέρος που πρέπει να κοιτάξουμε είναι, φυσικά, το AndroidManifest.xml. Και εδώ αμέσως συναντάμε την εξής γραμμή:

Δεν είναι δύσκολο να μαντέψει κανείς ότι είναι υπεύθυνη για τη χορήγηση αδειών στην εφαρμογή για χρήση της σύνδεσης στο Διαδίκτυο. Στην πραγματικότητα, αν θέλουμε απλώς να απαλλαγούμε από τη διαφήμιση, πιθανότατα θα χρειαστεί απλώς να αποκλείσουμε την εφαρμογή από το Διαδίκτυο. Ας προσπαθήσουμε να το κάνουμε αυτό. Διαγράφουμε την καθορισμένη γραμμή και προσπαθούμε να δημιουργήσουμε το λογισμικό χρησιμοποιώντας το apktool:

$ apktool b com.kauf.particle.virtualtorch

Το αρχείο APK που προκύπτει θα εμφανιστεί στον κατάλογο com.kauf.particle.virtualtorch/build/. Ωστόσο, δεν θα είναι δυνατή η εγκατάστασή του, καθώς δεν έχει ψηφιακή υπογραφή και αθροίσματα ελέγχου αρχείων (απλώς δεν έχει κατάλογο META-INF/). Πρέπει να υπογράψουμε το πακέτο χρησιμοποιώντας το βοηθητικό πρόγραμμα apk-signer. Ξεκίνησε. Η διεπαφή αποτελείται από δύο καρτέλες - στην πρώτη (Γεννήτρια κλειδιών) δημιουργούμε κλειδιά, στη δεύτερη (APK Signer) υπογράφουμε. Για να δημιουργήσετε το ιδιωτικό μας κλειδί, συμπληρώστε τα παρακάτω πεδία:

  • Αρχείο στόχου- αρχείο εξόδου keystore? Συνήθως αποθηκεύει ένα ζευγάρι κλειδιά.
  • Κωδικός πρόσβασηςΚαι Επιβεβαιώνω- κωδικός για την αποθήκευση.
  • Ψευδώνυμο- όνομα του κλειδιού στο χώρο αποθήκευσης.
  • Ψευδώνυμο κωδικόςΚαι Επιβεβαιώνω- κωδικός μυστικού κλειδιού.
  • Εγκυρότητα- περίοδος ισχύος (σε έτη). Η προεπιλεγμένη τιμή είναι η βέλτιστη.

Τα υπόλοιπα πεδία είναι, γενικά, προαιρετικά - αλλά τουλάχιστον ένα πρέπει να συμπληρωθεί.


ΠΡΟΕΙΔΟΠΟΙΗΣΗ

Για να υπογράψετε μια εφαρμογή χρησιμοποιώντας το apk-signer, πρέπει να εγκαταστήσετε το Android SDK και να καθορίσετε την πλήρη διαδρομή προς αυτό στις ρυθμίσεις της εφαρμογής.

Όλες οι πληροφορίες παρέχονται μόνο για ενημερωτικούς σκοπούς. Ούτε οι συντάκτες ούτε ο συγγραφέας ευθύνονται για οποιαδήποτε πιθανή βλάβη που προκαλείται από το υλικό αυτού του άρθρου.

Τώρα μπορείτε να υπογράψετε το APK με αυτό το κλειδί. Στην καρτέλα APK Signer, επιλέξτε το αρχείο που δημιουργήθηκε πρόσφατα, εισαγάγετε τον κωδικό πρόσβασης, το ψευδώνυμο κλειδιού και τον κωδικό πρόσβασης και, στη συνέχεια, βρείτε το αρχείο APK και κάντε κλικ με τόλμη στο κουμπί "Υπογραφή". Αν όλα πάνε καλά, το πακέτο θα υπογραφεί.

ΠΛΗΡΟΦΟΡΙΕΣ

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

Απαιτείται ψηφιακή υπογραφή μόνο για λογισμικό τρίτων, επομένως εάν τροποποιείτε εφαρμογές συστήματος που είναι εγκατεστημένες αντιγράφοντας τις στον κατάλογο /system/app/, τότε δεν χρειάζεται να τις υπογράψετε.

Μετά από αυτό, κατεβάστε το πακέτο στο smartphone σας, εγκαταστήστε το και εκκινήστε το. Voila, η διαφήμιση έφυγε! Αντίθετα, όμως, εμφανίστηκε ένα μήνυμα ότι δεν έχουμε Internet ή ότι δεν έχουμε τα κατάλληλα δικαιώματα. Θεωρητικά, αυτό μπορεί να είναι αρκετό, αλλά το μήνυμα φαίνεται ενοχλητικό και, για να είμαστε ειλικρινείς, απλά σταθήκαμε τυχεροί με μια ηλίθια εφαρμογή. Το κανονικά γραμμένο λογισμικό πιθανότατα θα διευκρινίσει τα διαπιστευτήριά του ή θα ελέγξει για σύνδεση στο Διαδίκτυο και διαφορετικά απλώς θα αρνηθεί την εκκίνηση. Πώς να είσαι σε αυτή την περίπτωση; Φυσικά, επεξεργαστείτε τον κώδικα.

Συνήθως, οι συντάκτες εφαρμογών δημιουργούν ειδικές κλάσεις για την εμφάνιση διαφημίσεων και μεθόδους κλήσης αυτών των τάξεων όταν εκκινείται η εφαρμογή ή μία από τις «δραστηριότητές» της (με απλά λόγια, οθόνες εφαρμογών). Ας προσπαθήσουμε να βρούμε αυτές τις τάξεις. Πηγαίνουμε στον κατάλογο smali, μετά com (το org περιέχει μόνο την ανοιχτή βιβλιοθήκη γραφικών cocos2d), μετά kauf (εδώ είναι, γιατί αυτό είναι το όνομα του προγραμματιστή και όλος ο κώδικάς του είναι εκεί) - και εδώ είναι, τον κατάλογο μάρκετινγκ. Μέσα βρίσκουμε ένα σωρό αρχεία με την επέκταση smali. Πρόκειται για κατηγορίες, και η πιο αξιοσημείωτη από αυτές είναι η κατηγορία Ad.smali, από το όνομα της οποίας είναι εύκολο να μαντέψει κανείς ότι είναι αυτή που εμφανίζει διαφημίσεις.

Θα μπορούσαμε να αλλάξουμε τη λογική της λειτουργίας του, αλλά θα ήταν πολύ πιο εύκολο να αφαιρέσουμε απλώς τις κλήσεις σε οποιαδήποτε από τις μεθόδους του από την ίδια την εφαρμογή. Επομένως, αφήνουμε τον κατάλογο μάρκετινγκ και πηγαίνουμε στον γειτονικό κατάλογο σωματιδίων και μετά στον εικονικό φακό. Το αρχείο MainActivity.smali αξίζει εδώ ιδιαίτερη προσοχή. Αυτή είναι μια τυπική κλάση Android που δημιουργείται από το Android SDK και εγκαθίσταται ως σημείο εισόδου στην εφαρμογή (ανάλογα με την κύρια λειτουργία στο C). Ανοίξτε το αρχείο για επεξεργασία.

Στο εσωτερικό υπάρχει κωδικός smali (τοπικός συναρμολογητής). Είναι αρκετά μπερδεμένο και δύσκολο να διαβαστεί λόγω της φύσης του χαμηλού επιπέδου, επομένως δεν θα το μελετήσουμε, αλλά απλώς θα βρούμε όλες τις αναφορές στην κατηγορία διαφημίσεων στον κώδικα και θα τις σχολιάσουμε. Εισάγουμε τη γραμμή "Διαφήμιση" στην αναζήτηση και φτάνουμε στη γραμμή 25:

Ιδιωτική διαφήμιση πεδίου:Lcom/kauf/μάρκετινγκ/Διαφήμιση;

Εδώ δημιουργείται ένα πεδίο διαφήμισης για την αποθήκευση ενός αντικειμένου κατηγορίας διαφημίσεων. Σχολιάζουμε τοποθετώντας ένα σύμβολο ### μπροστά από τη γραμμή. Συνεχίζουμε την αναζήτηση. Γραμμή 423:

New-instance v3, Lcom/kauf/marketing/Ad;

Εδώ γίνεται η δημιουργία αντικειμένου. Ας σχολιάσουμε. Συνεχίζουμε την αναζήτηση και βρίσκουμε στις γραμμές 433, 435, 466, 468, 738, 740, 800 και 802 κλήσεις σε μεθόδους της κατηγορίας Ad. Ας σχολιάσουμε. Δες ότι αυτό είναι. Αποθηκεύσετε. Τώρα το πακέτο πρέπει να συναρμολογηθεί ξανά και να ελεγχθεί για λειτουργικότητα και παρουσία διαφήμισης. Για την καθαρότητα του πειράματος, επιστρέφουμε τη γραμμή που αφαιρέθηκε από το AndroidManifest.xml, συναρμολογούμε το πακέτο, υπογράφουμε και εγκαθιστούμε.

Το πειραματόζωό μας. Η διαφήμιση είναι ορατή

Ωχ! Η διαφήμιση εξαφανίστηκε μόνο κατά την εκτέλεση της εφαρμογής, αλλά παρέμεινε στο κύριο μενού, το οποίο βλέπουμε όταν εκκινούμε το λογισμικό. Λοιπόν, περιμένετε, αλλά το σημείο εισόδου είναι η κλάση MainActivity και η διαφήμιση εξαφανίστηκε κατά την εκτέλεση της εφαρμογής, αλλά παρέμεινε στο κύριο μενού, άρα το σημείο εισόδου είναι διαφορετικό; Για να προσδιορίσετε το πραγματικό σημείο εισόδου, ανοίξτε ξανά το αρχείο AndroidManifest.xml. Και ναι, περιέχει τις ακόλουθες γραμμές:

Μας λένε (και, πιο σημαντικό, στο android) ότι μια δραστηριότητα με το όνομα Έναρξη πρέπει να ξεκινήσει ως απάντηση στη δημιουργία μιας πρόθεσης (συμβάντος) android.intent.action.MAIN από την κατηγορία android.intent.category.LAUNCHER. Αυτό το συμβάν δημιουργείται όταν πατάτε στο εικονίδιο της εφαρμογής στη λειτουργία εκκίνησης, επομένως καθορίζει το σημείο εισόδου, δηλαδή την κλάση Έναρξη. Πιθανότατα, ο προγραμματιστής πρώτα έγραψε μια εφαρμογή χωρίς κύριο μενού, το σημείο εισόδου της οποίας ήταν η τυπική κλάση MainActivity, και στη συνέχεια πρόσθεσε ένα νέο παράθυρο (δραστηριότητα) που περιέχει το μενού και περιγράφεται στην κλάση Έναρξη, και το έκανε χειροκίνητα την καταχώρηση σημείο.

Ανοίξτε το αρχείο Start.smali και αναζητήστε ξανά τη γραμμή "Ad", βρίσκουμε στις γραμμές 153 και 155 μια αναφορά στην κλάση FirstAd. Είναι επίσης στον πηγαίο κώδικα και, αν κρίνουμε από το όνομα, είναι υπεύθυνος για την εμφάνιση διαφημίσεων στην κύρια οθόνη. Ας δούμε περαιτέρω, υπάρχει η δημιουργία ενός στιγμιότυπου της κλάσης FirstAd και μια πρόθεση που, σύμφωνα με το πλαίσιο, σχετίζεται με αυτήν την περίπτωση, και στη συνέχεια η ετικέτα cond_10, η υπό όρους μετάβαση στην οποία πραγματοποιείται ακριβώς πριν από τη δημιουργία μιας παρουσίας της τάξης:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

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

#if-ne p1, v0, :cond_10 goto:cond_10

Δεν υπάρχουν περισσότερες αναφορές για το FirstAd στον κώδικα, επομένως κλείνουμε το αρχείο και συναρμολογούμε ξανά τον εικονικό μας φακό χρησιμοποιώντας το apktool. Αντιγράψτε το στο smartphone σας, εγκαταστήστε το, εκκινήστε το. Voila, όλες οι διαφημίσεις έχουν εξαφανιστεί, για το οποίο συγχαίρουμε όλους μας.

Αποτελέσματα

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

mob_info