Android κεντρικό

Τι σημαίνει στην πραγματικότητα το rooting του τηλεφώνου σας;

protection click fraud

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

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

Άδειες

δικαιώματα αρχείου

Πριν ορίσουμε το root, είναι σημαντικό να κατανοήσουμε γιατί υπάρχει και πώς λειτουργεί. Είναι επειδή το Android χρησιμοποιεί δικαιώματα (για την ακρίβεια δικαιώματα που βασίζονται στο Linux) στη δομή του αρχείου. Κάθε αρχείο, κάθε φάκελος και κάθε διαμέρισμα έχει ένα σύνολο δικαιωμάτων. Αυτά τα δικαιώματα αποφασίζουν ποιος μπορεί να διαβάσει ένα αρχείο (να κοιτάξει ή να αποκτήσει πρόσβαση στο περιεχόμενο χωρίς να το αλλάξει), να γράψει σε ένα αρχείο (να μπορεί να αλλάξει το περιεχόμενα αυτού του αρχείου ή δημιουργήστε ένα νέο αρχείο μέσα σε ένα φάκελο ή διαμέρισμα) και εκτελέστε ένα αρχείο (εκτελέστε το αρχείο εάν είναι ένας τύπος που μπορεί να εκτελεστεί, όπως εφαρμογή). Αυτό γίνεται με βάση τους χρήστες και τα δικαιώματα — ορισμένοι χρήστες έχουν πρόσβαση, ενώ οι χρήστες που δεν έχουν τα σωστά δικαιώματα αποκλείονται από την πρόσβαση.

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

Ένα σύστημα χρηστών και αδειών είναι ο τρόπος με τον οποίο το Android παρακολουθεί ποιος μπορεί να κάνει τι.

Ας υποθέσουμε ότι εγκαταστήσατε μια εφαρμογή ανταλλαγής μηνυμάτων. Όταν το εγκαταστήσετε, του εκχωρείται ένα αναγνωριστικό χρήστη. Παίρνει επίσης μια θέση στο διαμέρισμα των δεδομένων σας από μόνη της, στην οποία μόνο αυτή έχει πρόσβαση. Έχετε δικαιώματα για την εκτέλεση της εφαρμογής και όταν εκτελείται η εφαρμογή, έχει δικαίωμα πρόσβασης στον δικό της φάκελο δεδομένων και αρχεία. Η εφαρμογή μπορεί επίσης να ζητήσει άδεια πρόσβασης σε πράγματα όπως το βιβλίο διευθύνσεων ή την κάρτα SD ή τη βιβλιοθήκη φωτογραφιών σας. Εάν πείτε ναι σε αυτά τα αιτήματα (ή εάν συμφωνείτε με τις άδειες σε παλαιότερες εκδόσεις του Android), το αναγνωριστικό χρήστη της εφαρμογής χορηγείται άδεια στα αρχεία δεδομένων αυτών των πραγμάτων, που σημαίνει ότι μπορεί να κοιτάξει τον φάκελο δεδομένων και τα περιεχόμενά του και πιθανώς να τα αλλάξει ή να προσθέσει νέα αρχεία. Η εφαρμογή δεν μπορεί να έχει πρόσβαση σε αρχεία δεδομένων που δεν έχει άδεια να "κοιτάξει". Αυτό σημαίνει ότι (στο παράδειγμά μας) δεν μπορεί να κάνει πράγματα όπως να κοιτάξει τη βάση δεδομένων ρυθμίσεων ή να αποκτήσει πρόσβαση στο φάκελο δεδομένων μιας άλλης εφαρμογής. Ο όρος sandbox χρησιμοποιείται συχνά για αυτό — οι εφαρμογές είναι sandbox και μπορούν να παίξουν μόνο στα sandbox στα οποία έχουν άδεια να βρίσκονται.

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

Άδειες εναλλαγής

SuperSU

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

Επειδή τα άτομα που έφτιαξαν το τηλέφωνό σας δεν θέλουν να έχετε εύκολη πρόσβαση στο αναγνωριστικό χρήστη root — και δεν είναι όλοι οι λόγοι εγωιστικό επειδή προστατεύει επίσης εσάς και τα προσωπικά σας δεδομένα — το δυαδικό αρχείο SubstituteUser δεν περιλαμβάνεται στις περισσότερες εκδόσεις Android. Χωρίς SubstituteUser, δεν μπορούμε να αλλάξουμε το αναγνωριστικό χρήστη μας. Τα περισσότερα πράγματα σε επίπεδο συστήματος στο Android έχουν παρόμοια εύκολα ονόματα, παρεμπιπτόντως. Η βασική ασφάλεια (αρχεία στον φορτωτή εκκίνησης και/ή στον ίδιο τον πυρήνα) είναι επίσης χτισμένη με τέτοιο τρόπο ώστε να σας εμποδίζει να αλλάζετε αναγνωριστικά χρήστη ως μέρος του SELinux (μικρόασφάλεια-μιnhanced Linux — σας είπα ότι τα ονόματα είναι εύκολα) μονάδα πυρήνα. Ορισμένα τηλέφωνα (το Knox της Samsung έρχεται στο μυαλό) έχουν περαιτέρω προστασίες και σχεδόν όλες οι εταιρείες που κατασκευάζουν Android απαιτούν ότι, για να γίνουν αλλαγές, ο bootloader θα πρέπει να είναι ξεκλειδωμένο, ώστε αυτά τα αρχεία να μπορούν να αλλάξουν και να σας επιτρέψουν να αλλάξετε αναγνωριστικά χρήστη. Ορισμένα τηλέφωνα, όπως το BlackBerry Priv, προχωρούν ακόμη και ένα βήμα παραπέρα και δεν πρόκειται να εκκινήσουν εάν αλλάξουμε κάτι (ακόμη και αν θα μπορούσε).

Για να γίνετε root, χρειάζεστε έναν τρόπο να αλλάξετε το αναγνωριστικό χρήστη.

Μόλις ξεπεράσουμε όλα αυτά — είτε ξεκλειδώνοντας τον bootloader μέσω εξουσιοδοτημένων μέσων είτε χρησιμοποιώντας κάποιο είδος εκμετάλλευσης — μπορούμε να τοποθετήσουμε το δυαδικό αρχείο SU (SubstituteUser) σε ένα σημείο που μπορεί να εκτελεστεί όταν καλείται να εκτελεστεί — αυτό ονομάζεται ΜΟΝΟΠΑΤΙ. Εάν κάποια εφαρμογή βρίσκεται στο PATH του αναγνωριστικού χρήστη σας, θα εκτελείται χωρίς να λέει στο σύστημα πού ακριβώς βρίσκεται. Πρέπει επίσης να βεβαιωθείτε ότι το δυαδικό αρχείο SU βρίσκεται σε σημείο όπου το αναγνωριστικό χρήστη σας έχει άδεια για την εκτέλεση (εκτέλεση) αρχείων. Οποιαδήποτε άλλη εφαρμογή (το Google Play έχει πολλές εφαρμογές που χρειάζονται δικαιώματα root) θα χρειαστεί επίσης την ίδια πρόσβαση. Όταν χρησιμοποιείτε μια μέθοδο για να κάνετε root το τηλέφωνό σας, όλα αυτά τακτοποιούνται από τους ανθρώπους που δημιούργησαν τη μέθοδο root.

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

Λήψη πρόσβασης root

Είμαι ο Γκρουτ

Εδώ μπαίνει το root. Το δυαδικό SU χρησιμοποιεί σημαίες όταν εκτελείται για να πει στο σύστημα σε ποιο αναγνωριστικό χρήστη θέλετε να μεταβείτε. Για παράδειγμα, εάν εκτελέσω το δυαδικό SU στον υπολογιστή μου Ubuntu όπως αυτό το "su Jim -c nano", θα εκτελέσω την εντολή nano ως χρήστης Jim (αφού δώσω τον κωδικό πρόσβασης του Jim). Εάν εκτελείτε το δυαδικό αρχείο SU χωρίς σημαίες ή ορίσματα, σας μεταφέρει στον χρήστη root. Κανονικά θα έπρεπε να δώσετε έναν κωδικό πρόσβασης, αλλά επειδή το "root" είναι αχρησιμοποίητος χρήστης στο Android, δεν έχει κωδικό πρόσβασης. Εκτελώντας την εντολή "su" θα μεταβείτε στη ρίζα χρήστη και θα σας εκχωρήσει το αναγνωριστικό χρήστη 0 και θα σας τοποθετήσει στη ριζική ομάδα. Είστε πλέον ο Super User.

Ως Super User, μπορείτε να κάνετε οτιδήποτε σε οποιοδήποτε αρχείο, φάκελο ή διαμέρισμα στο Android σας. Με οτιδήποτε, εννοούμε κυριολεκτικά οτιδήποτε. Μπορείτε να αφαιρέσετε εφαρμογές bloatware και μπορείτε επίσης να αφαιρέσετε βασικά αρχεία συστήματος που σπάνε το τηλέφωνό σας. Μπορείτε επίσης να κάνετε πράγματα στο υλικό, όπως να αλλάξετε τη συχνότητα της CPU και να καταστρέψετε το τηλέφωνό σας για πάντα.

Ο Root είναι ο σούπερ χρήστης, που μπορεί να κάνει τα πάντα. Και εννοούμε οτιδήποτε.

Οι εφαρμογές μπορούν να κάνουν το ίδιο πράγμα. Το SU τοποθετείται εκεί που βρίσκεται στην εφαρμογή PATH και οποιαδήποτε εφαρμογή μπορεί να το καλέσει και να το εκτελέσει. Στη συνέχεια, αυτή η εφαρμογή έχει δικαιώματα Super User και μπορεί να κάνει ό, τι θέλει σε οποιοδήποτε αρχείο σε οποιοδήποτε μέρος του τηλεφώνου σας. Αυτός είναι ο λόγος για τον οποίο τα άτομα που κατασκεύασαν το τηλέφωνό σας δεν θέλουν πραγματικά να έχετε αυτό το επίπεδο πρόσβασης και οι εταιρείες που σας επιτρέπουν να ξεκλειδώσετε τον bootloader και να αλλάξετε πράγματα, δεν τοποθετείτε το δυαδικό αρχείο SU στο τηλέφωνό σας μέχρι Προκαθορισμένο. Το να έχετε πρόσβαση root χωρίς τρόπο να ελέγξετε ποιος ή τι μπορεί να το χρησιμοποιήσει είναι επικίνδυνο για το λογισμικό του τηλεφώνου σας και τα προσωπικά σας δεδομένα.

Γι' αυτό πρέπει να εγκαταστήσετε μια εφαρμογή που σας υποχρεώνει να επιτρέπετε την πρόσβαση root κάθε φορά που εσείς ή άλλη εφαρμογή προσπαθεί να επικαλεστεί τα δικαιώματα Super User. Τις περισσότερες φορές, όταν χρησιμοποιείτε μια μέθοδο root για το τηλέφωνό σας, θα συμπεριληφθεί μια, μαζί με κάποια άλλα χρήσιμα δυαδικά αρχεία, όπως το σύνολο εργαλείων BusyBox. Εάν κάνατε πράγματα με το χέρι, θα χρειαστεί να εγκαταστήσετε μόνοι σας. SuperSU της Chainfire στο Google Play είναι καλό για αρχή.

Απομεινάρια

Πολλά τηλέφωνα και ορισμένες μέθοδοι root κάνουν τα πράγματα λίγο διαφορετικά (το Android 4.3 έφερε πολλές αλλαγές) και απαιτούν σενάρια ή έναν δαίμονα (θα δείτε λέξεις όπως το daemonsu ή το su.d να αναφέρονται) αντί να ρίξετε απλώς το δυαδικό αρχείο SU στο θέση. Αυτά χρησιμοποιούνται για την κλήση του SubstituteUser, ώστε να μπορείτε να μεταβείτε στον χρήστη root, όπως ακριβώς και η μη επεξεργασμένη δυαδική μέθοδος. Τα άτομα που κατάλαβαν πώς να κάνουν root το τηλέφωνό σας τα έχουν τακτοποιήσει όλα αυτά και θα λειτουργήσει το ίδιο στην πλευρά που βλέπει ο χρήστης.

Είναι επίσης δυνατό να κάνετε "temp-root" ορισμένων Android. Αυτό σημαίνει ότι μπορείτε να έχετε δικαιώματα Super User και να κάνετε μερικά πράγματα που πρέπει να κάνετε, αλλά μια επανεκκίνηση αφαιρεί την πρόσβαση root. Ομοίως, μπορείτε να έχετε ένα "shell-root" από όπου μπορείτε να έχετε πρόσβαση μόνο στον χρήστη root adb από τον υπολογιστή σας.

Τέλος, θέλω να τονίσω ότι αν είχατε αυτές τις ερωτήσεις, πρέπει να σκεφτείτε εάν είστε έτοιμοι να έχετε ένα ριζωμένο Android. Δεν κάναμε πλάκα όταν είπαμε ότι είναι εύκολο να καταστρέψετε το τηλέφωνό σας με την πρόσβαση SuperUser. Δεν υπάρχει λόγος να ντρέπεστε που πρέπει να κάνετε λίγο διάβασμα ή να κάνετε μερικές ακόμη ερωτήσεις προτού κάνετε πράγματα που μπορεί να σπάσουν το τηλέφωνό σας ή να δώσουν σε κάποια τυχαία εφαρμογή rouge πρόσβαση σε όλα τα δεδομένα σας.

Γι' αυτό είμαστε εδώ.

instagram story viewer