Παρασκευή, 23 Νοεμβρίου 2012

Android Basics: Τι είναι το Superuser, το SuperSU και το su binary;


Έχουμε αναλύσει πολλές φορές και για πολλές συσκευές τη διαδικασία απόκτησης δικαιωμάτων διαχειριστή στο Android, ποτέ όμως δεν μιλήσαμε για το τι περιέχει αυτός ο .zip φάκελος που εγκαθιστούμε μέσω recovery και "ξεκλειδώνει" τη συσκευή μας. Λίγα λόγια λοιπόν για το su binary και τις εφαρμογές SuperSU και Superuser.

Το su binary
su σημαίνει "Switch User" (κατά πολλούς "Super User") και πρόκειται για ένα εκτελέσιμο αρχείο κειμένου το οποίο περιέχει γραμμές εντολών (δείτε τις εδώ). Χρησιμοποιείται από λειτουργικά συστήματα που βασίζονται στο Unix όπως το MacOS και το Linux (και κατ' επέκταση το Android) και η δουλειά του είναι να επιτρέπει ή όχι σε μια διεργασία να λαμβάνει δικαιώματα διαχειριστή στο σύστημα.

Ο λόγος ύπαρξης του su binary είναι διότι στα Unix λειτουργικά συστήματα είμαστε στην ουσία φιλοξενούμενοι, καθώς υπάρχουν κάποια πράγματα που δεν μπορούμε να κάνουμε εκτός και αν λάβουμε δικαιώματα διαχειριστή, όπως για παράδειγμα να διαγράψουμε αρχεία από το system partition. Στο Android μάλιστα, δεν μπορούμε με κανένα τρόπο να γίνουμε διαχειριστές καθώς το su δεν υπάρχει καν στο σύστημα, για αυτό το λόγο κάνουμε root!

To su βρίσκεται πάντα στο φάκελο "bin" ή τον "xbin" του συστήματος, λόγω της έξυπνης φακελοποίησης του Linux, πράγμα πολύ βολικό για το δημιουργό μίας root εφαρμογής η οποία ξέρει που να ψάξει για το su. Στα Windows για παράδειγμα, δεν υπάρχει τέτοια τακτοποίηση και έτσι ο κάθε δημιουργός θα έπρεπε να συμπεριλαμβάνει μέσα στην εφαρμογή του το su, οπότε αν είχαμε 30 εφαρμογές θα είχαμε και 30 su στο σύστημα άρα χωρίς λόγο κακή διαχείριση χώρου.

SuperSU & Superuser
Το SuperSU και το Superuser είναι δύο εφαρμογές οι οποίες κατά κύριο λόγο κάνουν την ίδια δουλειά. Είναι αρμόδιες για να μας ειδοποιήσουν αν κάποια εφαρμογή ζητάει δικαιώματα διαχειριστή και έτσι να αποφασίσουμε αν θέλουμε να τα χορηγήσουμε ή όχι. Καμία εφαρμογή και με κανένα τρόπο δεν μπορεί να παρακάμψει αυτές τις δύο εφαρμογές και να αποκτήσει δικαιώματα διαχειριστή χωρίς να μας ρωτήσει. Για να το καταλάβουμε καλύτερα, αν το su είναι το κλειδί, οι εφαρμογές αυτές είναι ο φύλακας του κλειδιού και εμείς είμαστε ο διευθυντής των φυλακών που θα δώσει εντολή στο φύλακα.

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

Η ύπαρξη του su είναι υπεύθυνη του ότι το Linux και το Mac δεν έχουν ιούς σε αντίθεση με τα Windows, ενώ ο μόνος που μπορεί να κάνει κακό στο σύστημα είναι ο ίδιος ο χρήστης, δηλαδή εμείς! Η διαχείριση των δικαιωμάτων διαχειριστή είναι πολύ λεπτή διαδικασία, καθώς εμείς πλέον έχουμε τη δύναμη να επιτρέψουμε ή να αποτρέψουμε σε μία διεργασία αν θα επέμβει στο σύστημα, ασχέτως αν θέλει να μας κάνει κακό ή όχι.

Θα πρέπει λοιπόν να δίνουμε μεγάλη σημασία στις ερωτήσεις του Superuser και του SuperSU αν θέλουμε το σύστημά μας να είναι υγιές.

12 στο: "Android Basics: Τι είναι το Superuser, το SuperSU και το su binary;"
  1. Αν κάνουμε zip τα δυο αρχεία και τα βάλουμε στην κάρτα του τηλ. Μέσω του recovery όπως είδαμε σε προηγούμενο άρθρο, κάνουμε root. Αν θέλουμε να επαναφέρουμε το τηλ. τι κάνουμε;

    ΑπάντησηΔιαγραφή
  2. Καλημερα. Εχω ενα ΑΜΟΙ Ν828 (κινεζικο) απο το καλοκαιρι, το οποίο μια μερα πριν κανα μηνα μου κόλλησε και δε φόρτωνε το λειτουργικο συστημα.

    Περασα την εξής recovery 6.0.3.2
    http://teamuscellular.com/...tandard-touch/
    στο κινητο και με vol up + power button, δε μπηκε σε recovery mode αλλα εκανε σαν να το ανοιξα για 1η φορα, και τωρα δουλευει κανονικα. Δε θελει παλι περασμα rom? Λογικα πηγε στην αρχικη-κανονικη του...που ειναι η N828_V4.1多语言线刷包-3.26_minidealrom.7z απο minideal και φλασάρεται μέσω Flash Tool.
    τσεκαρα και τελικα εχει την 5.6 almost multilang

    το μονο θεμα είναι ότι δε μου αναγνωριζει τις καρτες sim(ειναι dual sim). ειναι επειδη θελει εκ νεου root?
    o superuser ειναι εγκατεστημενος απο τη μαμα ROM γιατι ηρθε ετοιμο rooted απο Κινα, και ενημερωμένος (εκδοση 1,86), αλλα οταν παω να τον ανοιξω μου λεει πως δεν υπαρχει SU binary εγκατεστημενο και πως ο superuser δε μπορει να το εγκαταστησει. αυτο εινα προβλημα!, γραφει. Τι πρεπει να κανω? εχω προσπαθησει να σβησω τον superuser και να τον ξαναεκαταστησω με διαφορους τροπους που εχω βρει για να γινει root

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. http://teamuscellular.com/Forum/topic/4658-official-clockworkmod-recovery-6032-standard-touch/

      αυτη ειναι η recovery. την ξαναγραφω γιατι το url ειχε κοπει πριν .ειναι touch, οποτε δε μου βγαζει το αρχικο μενου.

      Διαγραφή
    2. Αυτή η recovery που χρησιμοποίησες φίλε δεν είναι για το κινητό σου αλλά για το Galaxy S4. Εννοείται ότι δε θα λειτουργούσε.

      Βλέπω ότι ο επεξεργαστής της συσκευής σου είναι MTK65 άρα πιθανότατα να μπορείς να κάνεις root με αυτό τον τρόπο:
      http://www.doctorandroid.gr/2013/09/root-vodafone-smart-3-smart-mini.html

      Σχετικά με τις SIM μήπως έχεις σήμα κανονικά αλλά δεν παίρνει τηλέφωνο;

      Διαγραφή
    3. απο όσες δοκιμασα μεχρι τωρα , αυτη ηταν η μονη που επενεφερε το κινητο. λογικα θα βαλω καποια αλλη και θα περασω αλλη custom rom. Ετσι θα μπορεσω να κανω και root, δεδομενου οτι υπαρχει ο SuperSU αλλα οπως ειπα δε σβηνεται για να την ξαναπερασω.

      οντως ο επεξεργαστης ειναι ΜΤΚ6589 για την ακριβεια, για το οποιο εχω και scatter αρχειο. θα ακολουθησω τον οδηγο μπας και βγει ακρη, αλλα ισως πρεπει να περασω αλλη rom πρωτα. Τι προτεινετε?

      Σχετικά με τις SIM, δεν τις διαβαζει καθολου, σαν να μην υπηρχαν στην υποδοχη. Ισως(δεν ξερω) ειναι γιατι το S4 δεν ειναι dual sim και μπερδευεται καπως

      Διαγραφή
    4. πως σβηνω το SU ωστε να μην το δουν στο σερβις?

      Διαγραφή
    5. Με τον ES File Explorer πηγαίνεις στη διαδρομή "/system/app" και το διαγράφεις. Ύστερα πηγαίνεις και στο "/system/xbin" και διαγράφεις το "su".

      Ο πιο απλός τρόπος να κάνεις unroot.

      Διαγραφή
    6. δεν δεχετε διαγραφη το supersu πηγα διαχειρηση εφαρμογων και δεν δεχετε διαγραφη

      Διαγραφή
    7. Το ξέρω. Δε σου είπα να κάνεις αυτό. Δε γίνεται.

      Διαγραφή
  3. Δε διαγραφεται γιατι προσπαθησα και με τον τρόπο που ειπες...

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Στον ES πρέπει να δώσεις δικαιώματα διαχειριστή, να έχεις κάνει mount το system ως εγγράψιμο και πιθανότατα να έχεις εγκαταστήσει και το busybox.

      Διαγραφή