.

Πώς χακάρουμε την Android συσκευή μας χωρίς να χάσουμε την εγγύηση;


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

  • Γιατί οι κατασκευαστές δεν επισκευάζουν δωρεάν τη συσκευή μας, αν έχει γίνει root; 
  • Τι ελέγχουν για να το εξακριβώσουν; 
  • Πώς μπορούμε να χακάρουμε αλλά να μη χάσουμε την εγγύησή μας;


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

Γιατί χάνεται η εγγύηση;
Οι εταιρίες δεν έχουν άλλη επιλογή, ξεκάθαρα. Αν κάνετε μια βόλτα στα forum θα δείτε χιλιάδες ανθρώπους να κάνουν ερωτήσεις του τύπου "έκανα root και δεν ανοίγει το κινητό μου", ενώ όλοι οι συντάκτες των οδηγιών, προειδοποιούν οτι "ενδέχεται κάτι να πάει στραβά". Φανταστείτε όλους αυτούς τους ανθρώπους να παίρνουν τηλέφωνο στα κέντρα εξυπηρέτησης ή να διεκδικούν αλλαγή συσκευής από τα καταστήματα. Μιλάμε για πολλές ώρες απασχόλησης του προσωπικού, άρα χαμένα χρήματα. Δεν είναι κακό βέβαια και δεν πρέπει να κατηγορούμε τις εταιρίες διότι στο κάτω κάτω, επιχειρήσεις είναι με σκοπό το κέρδος. Μας προειδοποιούν για τα πάντα όμως εμείς δεν το ανοίγουμε το ρημάδι το βιβλιαράκι για να διαβάσουμε τους όρους χρήσης.

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

Τι είναι αυτό που μας προδίδει;
Εφόσον επεμβαίνουμε στο σύστημα, προκαλούμε και κάποιες αλλαγές σε αυτό. Αρκεί να σκεφτούμε τι αλλάζει στη συσκευή μας όταν κάνουμε root και θα ανακαλύψουμε τι είναι αυτό που μας κάνει και χάνουμε την εγγύηση. Ας τα δούμε λοιπόν με τη σειρά:
  • Ξεκλείδωτος bootloader. Για να κάνουμε το οτιδήποτε πρέπει να ξεκλειδώσουμε τον bootloader της συσκευής μας. Για αυτό λοιπόν οι εταιρίες, έχουν βάλει την κεντρική κλειδαριά τους στο πρώτο μας κιόλας βήμα, τον bootloader. Είναι πάντα κλειδωμένος και πολλές φορές κρυπτογραφημένος. Εάν λοιπόν βρεθεί ο bootloader ξεκλείδωτος, αυτομάτως χάνεται και η εγγύηση.
  • Αλλαγμένη κονσόλα recovery. Αν δεν προσέξει κάποιος τον bootloader, θα μας καταλάβει σίγουρα από την custom recovery. Όταν κάνουμε root προφανώς θέλουμε να εγκαταστήσουμε μια custom ROM ή κάποιο .zip αρχείο (π.χ. superuser.zip). Η επίσημη recovery που έχει η συσκευή μας είναι περιορισμένων δυνατοτήτων και δεν μπορούμε με αυτή να κάνουμε κάτι τέτοιο. Θα χρειαστεί λοιπόν να την αντικαταστήσουμε με μια custom recovery, η οποία αποτελεί αυτομάτως απώλεια της εγγύησης της συσκευής.
  • Αλλαγμένη ROM. Σε αυτή την περίπτωση, δεν το συζητάμε καν. Αν αλλάξουμε τη ROM μας, έχουμε αλλάξει το σύνολο του συστήματός μας οπότε και δεν τίθεται θέμα εγγύησης.
  • Εφαρμογή Superuser. Για να μπορέσουμε να δώσουμε δικαιώματα υπερχρήστη (root) στις εφαρμογές μας, θα πρέπει να έχουμε εγκατεστημένη την εφαρμογή Superuser. Όμως για να λειτουργήσει πρέπει να εγκατασταθεί στις εφαρμογές συστήματος, πράγμα το οποίο θεωρείται  "πείραγμα" στο σύστημα του Android και κατ' επέκτασιν απώλεια της εγγύησης.
  • Λοιπές αλλαγές. Φυσικά όποια εφαρμογή ή ρύθμιση έχουμε πειράξει είναι κακό για την εγγύηση. Για παράδειγμα όταν εγκαταστήσαμε το face unlock, ή όταν πειράξαμε το build.prop, χάσαμε αυτομάτως την εγγύηση.

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

Υπάρχει τρόπος να διατηρήσουμε την εγγύηση;
Θεωρητικά, ναι! Αρκεί να σβήσουμε όλα όσα είχαμε κάνει για να χακάρουμε τη συσκευή μας. Φυσικά δεν μπορούμε να γνωρίζουμε τι πραγματικά ελέγχεται όταν στέλνουμε τη συσκευή μας για επισκευή, όμως η λογική λέει οτι αν ξε-κάνουμε αυτά που κάναμε, τότε είμαστε εντάξει. Ας δούμε λοιπόν τι μπορούμε να κάνουμε και τι να αποφύγουμε στην κάθε περίπτωση ξεχωριστά:

  • Bootloader: Είναι το σημαντικότερο από όλα και όπως καταλαβαίνετε για αυτό το λόγο είναι κλειδωμένος. Αυτό που μπορούμε να κάνουμε είναι απλά να τον ξανακλειδώσουμε. Εδώ υπάρχουν δύο ιδιαιτερότητες όμως. Αν ο bootloader δεν είναι κρυπτογραφημένος (συσκευές Nexus), μπορείτε να τον κλειδώσετε με μία απλή εντολή σε τερματικό. Αν όμως είναι (HTC), δεν υπάρχει γυρισμός και καλύτερα να μην το κάνετε (στα σκαριά βρίσκονται όμως κάποιες νέες μέθοδοι που θα υπερκεράσουν αυτό το εμπόδιο). Αυτό που θα πρέπει να αποφεύγεται πάντως είναι οι επίσημες μέθοδοι των εταιριών. Αν ξεκλειδώσετε τον bootloader από εκεί, φακελώνουν το IMEI της συσκευής σας και το αποκλείουν αυτόματα από μια ενδεχόμενη δωρεάν επισκευή του.
  • Recovery: Στην περίπτωση της recovery υπάρχουν δύο τρόποι προστασίας. Ο ένας είναι να μην εγκαταστήσουμε ποτέ μια custom recovery στο κινητό μας! Ναι αλλά χρειαζόμαστε τη recovery για να εγκαταστήσουμε το Superuser. Μπορούμε λοιπόν με τη βοήθεια του ADB να τρέξουμε μία recovery στο κινητό μας χωρίς να την εγκαταστήσουμε σε αυτό! Αυτό γίνεται μέσω τερματικού με μια συγκεκριμένη εντολή. Έτσι, τρέχουμε π.χ. την ClockworkMod έχοντας τη συσκευή μας συνδεδεμένη με τον υπολογιστή, εγκαθιστούμε το Superuser ή χρησιμοποιούμε τις επιπλέον επιλογές της όπως να πάρουμε ένα nandroid backup και αφού κάνουμε επανεκκίνηση, μπορούμε να αποσυνδέσουμε τη συσκευή μας άφοβα με την επίσημη recovery, κανονικά στη θέση της. Ο δεύτερος τρόπος είναι να βρούμε την επίσημη recovery που είχε η συσκευή μας και να την εγκαταστήσουμε μέσω fastboot, όπως θα κάναμε για ένα οποιοδήποτε .img  αρχείο.
  • Custom ROM: Στην περίπτωση της custom ROM τα πράγματα είναι απλά και εύκολα. Εγκαταστήστε από την αρχή την επίσημη ROM την οποία είχε η συσκευή σας ή επαναφέρετε το backup της επίσημης ROM που είχατε πάρει με την κονσόλα recovery.
  • Superuser: Η εφαρμογή superuser πρέπει να αφαιρεθεί καθώς βρίσκεται σε φάκελο του συστήματος κάτι το οποίο είναι επίσης εύκολο. Υπάρχει μια ιδιαιτερότητα σε αυτή την περίπτωση καθώς όταν εγκαθιστούμε το superuser.zip, εγκαθίσταται και το su binary και μερικές φορές το busybox (αν περιέχεται στο zip). Τα binary είναι μικρά προγραμματάκια που αντιστοιχούν σε εντολές τερματικού και βρίσκονται όλα στο φάκελο "bin" των linux συστημάτων. Για παράδειγμα όταν τρέχουμε "adb" ή "fastboot" στο τερματικό, απλά καλούμε αυτό το πρόγραμμα να λειτουργήσει. Στο Android λείπουν αυτά τα δύο binary (μαζί με πολλά άλλα) και η εφαρμογή Superuser παίζει στην ουσία το ρόλο του μεσάζοντα. "Λέει" δηλαδή στο su binary οτι κάποια εφαρμογή το ζητάει και οτι πρέπει να ενεργήσει. Πρέπει λοιπόν να εξαλείψουμε και αυτά τα επιπλέον αρχεία που εγκαθίστανται στη συσκευή μας και αυτό επιτυγχάνεται με την εγκατάσταση, από την αρχή, μιας επίσημης ROM.
  • Λοιπές αλλαγές. Φυσικά ότι έχουμε κάνει στο σύστημα πέρα από τα προαναφερθέντα πρέπει να διαγραφεί. Μια επαναφορά επίσημης ROM είναι αρκετή για να επιτευχθεί.

Μια αμοιβαία λύση
Αυτό που θα μπορούσε να κρατήσει και τις εταιρίες και τους χρήστες, ευχαριστημένους, είναι το root από προεπιλογή (πρόσφατη προσθήκη της CM9). Να υπάρχει μια επιλογή στις ρυθμίσεις του Android (όπως η ενεργοποίηση "Άγνωστων πηγών"), με την οποία να ενεργοποιούμε όποια στιγμή θέλουμε τα δικαιώματα υπερχρήστη στη συσκευή μας, χωρίς να πειράζουμε τον bootloader, τη recovery κ.ο.κ. Να μπορεί όμως ο χρήστης να επεμβαίνει μόνο στο /system partition της συσκευής του (ή σε κομμάτι του) και όχι σε όλα τα partition, όπως γίνεται σήμερα για να είναι καλυμμένες και οι εταιρίες.


Ελπίζω να ξεκαθαρίσαμε και όχι να μπερδέψαμε παραπάνω τα πράγματα. Αν έχετε απορίες θα χαρώ να τις απαντήσω (αν μπορώ) στα σχόλια παρακάτω.

 
© 2012-2015 Dr. Android | Original theme design by Main-Blogger - Blogger Template and Blogging Stuff | Material design by Chris K.