Register Login

Site RulesFAQSearchContact
PortalBlogWikiChat



Ogłoszenie


Forum NokiaHacking.pl obchodzi swoje 15. urodziny! Image






Previous topic | Next topic
Page 1 of 1 [ 1 post ]
Print view
Write comments Post new topic


[KaiOS] Instalowanie aplikacji spoza sklepu (WebIDE, Jailbreak, Patch).

Post [KaiOS] Instalowanie aplikacji spoza sklepu (WebIDE, Jailbreak, Patch). 4 Oct 2019, o 23:00

Male - Administrator  Posts/Topics12082/1215  Reputation point 17483 
Offline  Profile  WWW   
Windows 10 Firefox
System KaiOS przewiduje różne poziomy uprawnień dla aplikacji, które określają, do jakich funkcji urządzenia (przez WebAPI) dana aplikacja ma dostęp. Zdefiniowane jest to w pliku z opisem szczegółów technicznych (manifest.webapp) każdej aplikacji. W polu odnoszącym się do tych uprawnień może znaleźć się jedna z trzech wartości:
  • web apps - podstawowy poziom uprawnień, bez dostępu do uprzywilejowanego lub wewnętrznego API,
  • privileged apps - rozszerzony poziom uprawnień plus z dostępem do uprzywilejowanego API (aplikacje hostowane on-line nie mogą mieć przyznanego tego poziomu; mają go jedynie aplikacje zainstalowane lokalnie),
  • certified apps - najwyższy poziom uprawnień z dostępem do wszystkich API (aplikacje firm trzecich nie mogą mieć przyznanego tego poziomu; mają go jedynie aplikacje zainstalowane przez producenta systemu lub urządzenia).
Same aplikacje mogą być natomiast instalowane lokalnie lub hostowane online i uruchamiane z poziomu odpowiednio przygotowanej strony internetowej. Aplikacje hostowane (hosted apps) pobierane są tylko za pierwszym razem (lub gdy zostanie opublikowana ich nowa wersja), a następnie mogą być cache'owane przez system w celu szybszego ich uruchamiania. Aplikacje instalowane lokalnie (packaged apps) standardowo dostarczane są wraz z urządzeniem lub są dostępne do pobrania z oficjalnego sklepu KaiStore. Aby móc instalować aplikacje firm trzecich z wolnego obiegu (np. przygotowane na system B2G lub Firefox OS i opublikowane w nieistniejącym już Firefox Marketplace należy zastosować jedną z poniższych metod.
Code:
Please Login or Register, to see this Content



WebIDE Sideload

Środowisko deweloperskie oprócz możliwości projektowania i programowania nowych aplikacji umożliwia również wgrywanie już tych istniejących. Można się w nie wyposażyć na dwa sposoby.

Jeśli pracujesz na jakiejś dystrybucji Linuksa (np. Ubuntu), możesz zainstalować oficjalny emulator KaiOSRT.
Code:
Please Login or Register, to see this Content

Image

W pozostałych przypadkach możesz wykorzystać środowisko do programowania aplikacji Boot To Gecko wbudowane w przeglądarkę Firefox w wersji 52.9 ESR lub wcześniejszej albo w jej forka Pale Moon w wersji 28.6.1 lub wcześniejszej.
Code:
Please Login or Register, to see this Content
Code:
Please Login or Register, to see this Content


Ponadto potrzebne będzie jeszcze narzędzie adb (Android Debug Bridge) znane z dewelopowania smartfonów z Androidem.
Code:
Please Login or Register, to see this Content
Code:
Please Login or Register, to see this Content
Code:
Please Login or Register, to see this Content


W obu przypadkach należy wykonać następujące operacje:
  1. Na telefonie wprowadź sekretny kod *#*#33284#*#* (*#*#debug#*#*) i sprawdź, czy w systemowym pasku zadań powyżej pojawiła się ikonka robaka (bug icon) świadcząca o aktywnym trybie Debug Mode.
  2. Połącz telefon z komputerem poprzez adb. Jeśli WebIDE go nie widzi, wpisz komendę:
    adb forward tcp:6000 localfilesystem:/data/local/debugger-socket command
  3. Ustaw WebIDE, aby łączył się z Remote Runtime na adresie localhost:6000.
  4. Wybierz folder z rozpakowanym archiwum żądanej aplikacji używając opcji Open packaged app w WebIDE.
  5. Uruchom instalację, klikając zielony trójkąt powyżej.
  6. Aplikacja powinna zostać otwarta i pojawić się w menu.
Code:
Please Login or Register, to see this Content







OmniSD Jailbreak

Ten sposób, czerpiący swoją nazwą (jailbreaking, czyli dosłownie wyjście z więzienia) z ekosystemu firmy Apple, umożliwia instalowanie każdej aplikacji z pamięci telefonu lub z karty pamięci za pomocą narzędzia OmniSD. Jest on dość bezpieczny, jednak podczas jego wykonywania wszystkie dane na telefonie zostaną wyczyszczone!

Na wstępie upewnij się, że telefon posiada najnowsze dostępne firmware, a jeśli nie, to je do niego zaktualizuj. Do przeprowadzenia tego jailbreak'a potrzebujesz również środowiska deweloperskiego WebIDE opisanego już w pierwszej metodzie.
  1. Tak jak tam wprowadź telefon w Debug Mode i połącz go z WebIDE poprzez adb. Jeśli połączenie nie działa, spróbuj ponownie uruchomić telefon, uruchomić polecenie adb forward i połączyć się ponownie.
  2. W momencie wskazania żądanej aplikacji do wgrania pobierz, rozpakuj i wybierz folder z OmniSD.
    Code:
    Please Login or Register, to see this Content
  3. Uruchom instalację, klikając zielony trójkąt w WebIDE.
  4. Jeśli instalacja się powiedzie, narzędzie uruchomi się na telefonie. Naciśnij wówczas # i potwierdź monit o uruchomienie uprzywilejowanego przywracania ustawień fabrycznych.
  5. Po zakończeniu resetowania w zakładce Urządzenie w Ustawieniach powinno pojawić się menu Developer.
  6. Na koniec powtórz tę procedurę od początku raz jeszcze. Po jej dwukrotnym wykonaniu OmniSD zostanie zainstalowany w telefonie i będzie gotowy do przyjmowania paczek aplikacji spoza sklepu.



OmniSD akceptuje paczki aplikacji w formacie *.zip. Archiwum musi zawierać następujące pliki:
  • application.zip z rzeczywistą aplikacją KaiOS / FFOS / B2G zgodną z WebIDE,
  • update.webapp - może być pusty, ale musi być obecny,
  • metadata.json w następującym formacie:
    Code:
    Please Login or Register, to see this Content

    przy czym [your_app_id] należy zastąpić faktycznym identyfikatorem aplikacji (origin) zarejestrowanym w manifeście, a nazwę manifest.webapp należy zmienić, jeśli w archiwum application.zip jest on nazywany inaczej.
Poza tym struktura aplikacji w application.zip musi pasować do ogólnej struktury aplikacji KaiOS, Firefox OS i Boot To Gecko.
Code:
Please Login or Register, to see this Content
Code:
Please Login or Register, to see this Content
Code:
Please Login or Register, to see this Content





Patchowanie /data

Jeśli posiadasz urządzenie, które nie łączy się z WebIDE po adb i nie możesz przez to użyć żadnej z powyższych metod, możesz skorzystać z metody uniwersalnej polegającej na odblokowywaniu ukrytego menu deweloperskiego i dodawaniu możliwości takiej łączności. Jest ona bezpieczna i nie psuje mechanizmu oficjalnych aktualizacji, ale za to dość skomplikowana.

Cała idea polega na zmodyfikowaniu za pomocą komputera partycji /data z danymi użytkownika. Najpierw trzeba więc ją zgrać z telefonu pamiętając, że waży co najmniej 1 GB (w przypadku Nokii 8110 4G nawet 2 GB). Następnie należy użyć edytora heksadecymalnego, aby spatchować ustawienia, czyli przełączyć jeden bit z 0 na 1 odpowiedzialny za wyświetlanie menu deweloperskiego (developer.menu.enabled) i zapisać tak zmodyfikowaną kopię obrazu partycji. Później należy zamontować sobie ją w systemie (najlepiej linuksowym) z uprawnieniami roota, aby uzyskać dostęp do układu plików i folderów, dorzucić do folderu /data/misc/adb/ klucz publiczny adb znajdujący się w lokalizacji /home/.android/adbkey w naszym systemie, a po wszystkim ją odmontować. Na końcu nie pozostaje już nic innego, jak tylko przeflashować telefon tak zmodyfikowanym w dwójnasób obrazem partycji.



Po wykonaniu tych wszystkich operacji trzeba jeszcze przeprowadzić instalację OmniSD (lub Wallace) oraz uruchomić uprzywilejowane przywracanie ustawień fabrycznych – dokładnie w taki sam sposób, jak ten opisany w metodzie z jailbreakiem. Jeżeli wszystko się uda, w ustawieniach urządzenia pojawi się menu Developer oraz będzie można instalować wszystkie aplikacje firm trzecich z wolnego obiegu.

Szczegółowe instrukcje przedstawiające wszystkie operacje krok po kroku opisane są w poniższym artykule.
Code:
Please Login or Register, to see this Content


Image


Extreme Jailbreak

Ostatnia z metod jest najbardziej ryzykowna, ponieważ ingeruje w partycję systemową instalując na niej OmniSD, przez co psuje mechanizm oficjalnych aktualizacji! Korzystaj z niej tylko w ostateczności i na własną odpowiedzialność!

Wszystko, czego potrzebujesz, to zainstalowany tryb Recovery, który jest zdolny do flashowania paczek *.zip oraz pobraną paczkę OmniJB-Final.zip:
Code:
Please Login or Register, to see this Content

Wszystko, co musisz zrobić, to umieścić tę paczkę na karcie pamięci i z poziomu Recovery wybrać opcję aktualizacji systemu za pomocą niej. Do prawidłowego działania zalecane jest jeszcze wyczyszczenie wszystkich danych z telefonu (tzn. data wipe). Po tych operacjach w ustawieniach urządzenia pojawi się menu Developer.
Code:
Please Login or Register, to see this Content


Reply with quote 

Write comments  Post new topic

Page 1 of 1 [ 1 post ]
Previous topic | Next topic

Search for

Jump to
 


Users browsing this forum: No registered users and 0 guests