środa, 19 marca 2014

"Wgrywanie" Androida - słów kilka.

Ostatnio coraz częściej piszą do mnie osoby , które "widzą że ogarniam telefony to im pomogę". O ile na początku było to dosyć przyjemne (bo żyłem z myślą "jedyny taki magik w okolicy") tak z czasem nastawienie ludzi do "wgrywania Androida" zaczęło mnie irytować.

Uniwersalna metoda wgrywania nowego softu? Zapomnij.
Każdy producent telefonu z Androidem dba o to żeby system był szybki, dobry, rozbudowany i przyjazny użytkownikowi. Jednak w momencie kiedy Pan A wgra 14123 aplikacji, 1237897 widzetów, 12389078123978 mpTrójek oraz skusi się na oglądanie filmów korzystając z telefonu/Tabletu telefon (bo nie system) najzwyczajniej w świecie odmówi posłuszeństwa i zacznie "mulić" gdyż zacznie mu brakować miejsca na pamięci użytkowej , ram'u oraz miejsca w cache'u Dalvika. Wracając do producentów , każdy z nich stara się żeby system był zabezpieczony w taki sposób aby zwykły zjadacz chleba nie zrobił tzw "a co się stanę jak kliknę tu? Ojej nie działa...." . Uniwersalna blokada tego była ,owszem , do Androida 2.3. W "Tych pięknych czasach" "programów i metod" (słowa exploitów nie używam celowo - dla zainteresowanych co to znaczy odsyłam do google) do rootowania można było policzyć na palcu jednej ręki. Obecnie każdy producent stara się zabezpieczyć telefon przez hakowaniem jak tylko może. Jak się im to udaje wie każdy kto "siedzi w branży".
Ale jak to "hakowanie telefonu"?  Czy będe hakerem?
Nie. Po prostu posiadam bardzo "fajną" książkę "Hakowanie Androida" (polecam - bardzo fajnie wyjaśnione działanie systemu) i dlatego używam tego terminu. Większość z was pewnie słysząc "haker"
 widzi zakapturzonego człowieka bez twarzy w ciemnym pokoju gdzie jedynym źródłem światła jest ekran komputera i jego widok odbijający się od puszek napojów energetycznych. Warunkiem wgrania nowego Androida jest jego zrootowanie i odblokowanie bootloadera co wiąże się z obejściem zabezpieczeń więc w pewnym stopniu (z podkreśleniem "pewnym") jesteś hakerem. Ale nie bój się. Jedyne co Ci grozi to uceglenie telefonu. 
Etapy wgrywania nowego systemu.
W czasie złości jak ktoś pyta mnie się "JAK?!" odpowiadam "poszukaj w googlach albo na xda. jak tam nie ma to nie da się tego zrobić". Tak , czasem mówię to co myślę ale nie o to chodzi. Mogę przegadać o Tym godziny jak to działa, dlatego właśnie jest ten wpis aby "przybliżyć" jak to wszystko wygląda.
ROOT: Poprawnie wykonany dodaje nam bibliotekę su oraz (co jest mało istotne) aplikację SuperUsera. Root jest wymagany , ponieważ dzięki niemu możemy zapisywać w systemie informacje. Brzmi nie logicznie prawda? Z jednej strony - tak , to wcale nie ma sensu. Bo przecież "Gdzieś się te aplikacje zapisywać muszą!". Z drugiej , tej poprawnej strony (można by śmiało powiedzieć ze strona developerska) , partycja systemowa jest tylko do odczytu  (więc gdzie się zapisują wasze Angry Birdsty i 1231239 innych widzetów? na partycji data - polecam archiwum bloga - już pisałem trochę o tym w "Rozbieramy Androida na czynniki pierwsze"). To jedno z zabezpieczeń przed nieumyślnym "OJEJ POPSUŁO SIĘ". Root dodaje nam uprawnienia supermegahiperextra administratora urządzenia , dzięki czemu możemy wykonać magiczne zaklęcie, co pozwoli nam na zapisie w systemie. Skoro chcemy wgrać nowy system , musimy się pozbyć starego. A zeby się pozbyć starego trzeba go po prostu usunąć - dla testów polecam stworzyć plik "Tylko do odczytu" w windowsie i spróbować go usunąć. Tak samo jest i tu.
Odblokowanie bootloadera: W momencie włączania urządzenia "COŚ" (serio - w tym systemie ciężko powiedzieć co...) sprawdza poprawność podpisania systemu (certyfikatami). Standardowy (stockowy) system jest podpisany oficjalnymi pierdółkami od producenta z góry, nowe (Customowe) systemy nie posiadają takiego podpisu, więc po instalacji systemu który nie jest podpisany "COŚ" stwierdzi że to nie system i nam podziękuje uniemożliwiając uruchomienie telefonu. Odblokowanie bootloadera polega na usunięciu etapu sprawdzenia certyfikatów systemu, recovery a nawet samego bootowania. Wykonujemy wtedy tzw. S-OFF (Security OFF, wiadomo - zablokowanie bootloadera to S-ON). Przez co możemy instalować niestandardowe i często nie podpisane certyfikatami modyfikacje na telefonie. 
Ej to teraz jak wgrać....?
Root - znajdź skrypt na swój telefon i postępuj zgodnie z instrukcjami. Odblokowanie bootloadera najczęściej polega na podmiany pliku w systemie (do czego wymagany jest root) więc znajdź plik i postępuj zgodnie z instrukcjami. Potem znajdź nowy system i postępuj zgodnie z instrukcjami.
Dlaczego nie powiem jak? Bo jak już wcześniej wspomniałem nie ma uniwersalnej metody. Rootowanie L5 zajęło mi 1 dzień bo nie chciałem wgrywać zrootowanego softu i udało się , wystarczyło kliknąć ROOT. Natomiast Rootując ARC S musiałem Restartować go co chwilę , nie mówiąc o tym że trzeba było ustawić czas uśpienia na 15 minut. Każdy producent ma inne metody - bardziej i mniej skomplikowane.
Ej bo mi nie działa....
Zrobiłeś coś nie tak? Ominąłeś lub zignorowałeś jakiś punkt? Nie zrobiłeś kopi zapasowej? Sam Sobie jestes winien. Nikt Ci nie każe wgrywać nowego Androida ,  wszystko robisz na własną odpowiedzialność. Nie działa Ci telefon po wykonaniu skryptu? Tak samo jesteś sobie winien. Czy jeśli ktoś zatrzymał Cię na ulicy i powiedział "Daj mi swój telefon" dał byś mu go (nie mówię o dresach) ? Myślę że nie. Tak samo zaufałeś człowiekowi któremu Podobno "działa!", którego nigdy na oczy nie widziałeś i ani słowa nie wymieniłeś. Ryzyko jest duże - pamiętam jak sam patrzyłem w konsole rootując swojego OT-908, kiedy ciśnienie mi latało jak szalone, a o wgrywaniu softa nie wspomnę. A byłbym zapomniał - gwarancji już nie masz - proces rootowania ją "zabiera"...

Wyklikane rozmyślenia w pracy. Mam nadzieję że tutaj choć trochę przybliżyłem jak to działa i dostanę "spokój" od głupich pytań :3

Pozdrawiam ! :)

4 komentarze:

  1. Nie wiem jak inni, ale ja na pewno, dzięki temu artykułowi zapoznałem się z kilkoma ważnymi informacjami. Nie bawię się w hakowanie telefonu, ale warto takie rzeczy wiedzieć ;)

    OdpowiedzUsuń
  2. Zgodzę się nie zgodzić z tym stwierdzeniem "wiadomo - zablokowanie bootloadera to S-ON"
    Bootloader, a S-ON to dwie różne rzeczy. Mając odblokowany bootloader możemy już wgrywać ROMy przez CWM, ale musimy dogrywać oddzielnie kernel w trybie fastboot, lecz jeśli zrobimy S-OFF kernel będzie wgrywał nam się razem z romem.
    Po za tym z tego co wiem to tylko HTC stosuje S-ON.

    OdpowiedzUsuń
    Odpowiedzi
    1. Otworzyłem książeczkę z której czerpię tą wiedzę i przyznaję rację - źle zrozumiałem co do S-On/Off. Jednak moim zdaniem dla człowieka który nie będzie się wgłębiał w to zbyt "zrównanie" Zabezpieczeń certyfikatów do bootloadera będzie "OK".

      Usuń
  3. Kiedyś to ręce mi się trzęsły przy zmianie softa, a co dopiero odblokowaniu bootloadera, a teraz to w trakcie zmiany softa czy romu mogę wyjąć kabel bez obawy że nie naprawie :D

    OdpowiedzUsuń