środa, 19 sierpnia 2015

[☆☆☆] Włamujemy się do środka i dorabiamy zapasowe klucze

Prawie wszystkie modyfikacje działania oprogramowania Kindle wymagają obecności w systemie tzw. jailbreak'a. W starych czasach hack'i wgrywało się przez fałszywe update'y. Niestety to już przeszłość. Amazon dobrze zabezpieczył oprogramowanie w wersjach 5.6.X, a co gorsze z każdą aktualizacją (5.6.2, 5.6.5) dochodzą nowe utrudnienia. Skończyły się dobre czasy...

No ale jeśli potrzebujemy samodzielnie ustawić marginesy (domyślne są wg mnie zbyt duże), dodać polskie "ogonki" do klawiatury, uruchomić reflow w PDF-ach czy też wprowadzić jakiekolwiek inne zmiany, to odblokowanie czytnika jest koniecznością.

Co będzie potrzebne?


  • sam czytnik: dowolny z FW 5.6.X (PW 1, PW 2, PW 3, Touch 2014, Voyage...),
  • konwerter USB-TTL: TTL-232RG-VREG1V8-WE (zastępczo może być FTDI Basic 3.3V),
  • program minicom (ewentualnie w Windows HyperTerminal),
  • python lub KindleTool (Archiwum NiLuJe),
  • jailbreak, usbnet i RescuePack (w załączniku).

Przygotowanie:


1) Konfiguracja minicom-a:
Ustawienia portu szeregowego -> Urządzenie szeregowe: /dev/ttyUSB0
Sprzętowa kontrola przepływu: Nie


2) skopiowanie (rozpakowanego) katalogu z załącznika do głównego folderu użytkownika (w Kindle /mnt/us)

3) hasło root do trybu Debug:
python -c 'import hashlib,sys;print "fiona%s" %hashlib.md5("%s\n" %sys.argv[1]).hexdigest()[13:16]' NR_SERYJNY_KINDLE

lub:
kindletool info NR_SERYJNY_KINDLE

Uzyskanie roota:

4) Odnalezienie pinów portu szeregowego (w Voyage oznaczone na zdjęciu).
Po kolei: GND, RxD, TxD. Podłączamy konwerter:
GND <-> GND,
RxD <-> TxD,
TxD <-> RxD

Uwaga! mało miejsca, niewygodny manewr.

5) Restartujemy Kindle i przerywamy autostart (dowolnym klawiszem).
Jak już przejmiemy kontrolę nad uboot'em, ładujemy system Debug:
bootm 0xE41000

a potem kolejno:
Reboot or Disable Diags -> Exit to login prompt

Logujemy się jako:
user: root
password: to uzyskane w punkcie 3.

6) Montujemy główny system:
mount /dev/mmcblk0p1 /mnt/mmc

wchodzimy do niego:
chroot /mnt/mmc

i ustawiamy hasło roota dla systemu main:
/usr/bin/passwd (lub, w innej wersji softu: /usr/sbin/passwd)

Restartujemy czytnik (polecenie reboot).

Wgranie hack'ów:

7) Spokojnie pozwalamy by załadował się główny system Kindle.

Logujemy się jako:
user: root
password: to ustawione w w punkcie 6.

Ustawiamy główny system plików do zapisu
mntroot rw

i instalujemy kolejno:
cd /mnt/us/tools/jb
sh install-bridge.sh

cd /mnt/us/tools/usbnet
sh install.sh

cd /mnt/us/tools/rescue
sh run.ffs

8) Restartujemy czytnik, odpinamy kabelki i składamy wszystko do obudowy.

Podsumowanie:


Od teraz możemy uzyskać prawa root'a uruchamiając na czytniku usbnet – polecenie ;un w polu wyszukiwania i logując się przez SSH:
ifconfig usb0 192.168.15.201 && ssh root@192.168.15.244

* zamiast usb0 system może używać nazwy zmienionej przez udev; odczytamy ją np. wywołując ifconfig -a lub dmesg.

Plik ENABLE_DIAGS w głównym folderze użytkownika (w czytniku) i restart czytnika uruchomi system Debug z włączonym usbnet (za ten stan rzeczy winę ponosi RescuePack).

Samo uruchomienie systemu Debug można też wymusić poleceniem:
idme -d --bootmode diags

Powrót do systemu Main
idme -d --bootmode main

i restart czytnika.


Załącznik:
Kindle Tools

12 komentarzy:

  1. Witam, W wersji 5.8.7 wgrałem Jailbreak i spolszczenie. Mój PW3 trzymałem offline aż do dziś kiedy szwagierka testowała i połączyła czytnik co zaowocowało automatyczną aktualizacją do 5.8.9 OFW - pytanie czy ja mogę spolszczenie 5.8.9 wrzucać czy uwalę czytnik ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Śmiało wrzucaj. Jeśli miałeś bridge'a to powinno zadziałać bez problemów.

      Usuń
    2. No właśnie nie przypominam sobie bridge'a, wszystko robiłem w styczniu krok po kroku z instrukcji z tego bloga.

      Usuń
    3. Instalacja JB, po odłączeniu czytnika od komputera, poprzez wykonanie polecenia:

      ;installHtml

      wpisanego w pole wyszukiwania wprost z ekranu głównego czytnika (nie z otwartej książki!)
      Pobranie i instalacja ([HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle) zabezpieczenia przed usunięciem JB: JB-hotfix
      Pobranie i instalacja „po kablu” najnowszej dostępnej aktualizacji czytnika.
      Pobranie KUAL-a: KUAL, rozpakowanie i skopiowanie pliku KUAL-KDK-2.0.azw2 do katalogu documents.
      Pobranie MRPI: MR Package Installer, wypakowanie i skopiowanie otrzymanych katalogów na czytnik.

      Usuń
    4. jeśli HOTFIX = BRIDGE (proszę o potwierdzenie) to rozumiem ze jestem bezpieczny ?

      Usuń
    5. Tak – JB-hotfix = bridge…

      Usuń
  2. po aktualizacji softu do 5.8.9 musze znów JB zainstalować ? Dopiero po tym spolszczenie ?
    Chyba dobrze zrozumiałem na forum JB ?

    OdpowiedzUsuń
  3. If jailbroken on an earlier firmware version, the jailbreak is known to survive the update to either 5.8.8 or 5.8.9.
    It should survive an update to any firmware version. It is designed to be viral.
    None of our add-ins are protected across updates, you must always re-install them.

    OdpowiedzUsuń
  4. Pierdzielę... Fabryczny restart też zrobiła... Chyba myślała (czytaj nie myślała) że przywróci j. polski. Jestem w czarnej d..ie. Czy wgranie JB przez rozebranie czytnika jak wyżej da efekt ? Jeśli tak proszę o instrukcję jak rozebrać PW3 i gdzie kupić programator ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Strona na której kupowałem programatory (dla siebie i innych) obecnie nie istnieje. Rozebranie czytnika takiego jak PW3 polega na zdjęciu gumowanej ramki na froncie czytnika (jest przyklejona dokoła ekranu) i odkręceniu kilkunastu śrubek. JB i bridge przez port szeregowy jest zawsze wykonalny, wystarczy robić wszystko krok po kroku zgodnie z powyższym opisem.

      Usuń
  5. A może da się na stałe zrobić w odpowiednim miejscu otwór w tylnej obudowie 3 dziurki w wyznaczonym miejscu na piny jakiś rysunek z linijką współrzędne miejsc na obudowie :-)

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie da się bez uszkodzenia płyty głównej…

      Usuń