Skocz do zawartości

Forum XperiaSite.pl używa ciasteczek (cookies). Przeczytaj naszą Polityka prywatności by dowiedzieć się więcej. Kliknięcie w przycisk obok wyłączy to okno.    Zgadzam się na ciastka
  • Zaloguj korzystając z Facebooka Log In with Google      Logowanie »   
  • Rejestracja



Zdjęcie
MOD

[WIP][2013+] PoC, czyli prawdziwy DRM fix



  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 10 luty 2017 - 23:29

Ta modyfikacja ma status WIP - Work in progress. Oznacza to, że może nie działać na niektórych urządzeniach i autor pracuje nad jej rozwojem. 

 

Posiadasz urządzenie, którego nie da się zrootować bez odblokowywania bootloadera? A jednak chciałbyś spróbować się z aplikacjami korzystającymi z SafetyNet* i dalej mieć Roota (MAGISK)? To rozwiązanie jest dla Ciebie!

PoC (skrót nierozwijany, przynajmniej na razie) pozwala na zamontowanie kopii DRM jako partycji TA. Dzięki temu urządzenie myśli, że bootloader jest zablokowany (status Bootloader unlock allowed: yes), mimo że tak nie jest!

 

*działanie nie zostało potwierdzone.

 

Wymagania:

  • Xperia z partycją TA.
    W praktyce każda od 2013 roku.
  • Kopia partycji TA,
  • Stock kernel z softu bazującego na Androidzie 6.0 Marshmallow lub 7.0 Nougat.
    Możliwe, że custom kernele dla nich też.
  • Odblokowany bootloader,
  • Fastboot i sterowniki,
  • ADB i sterowniki.

Proces:

  1. Pobierz skrypt PoC.
  2. Rozpakuj plik .rar.
  3. Rozpakuj soft, z którego chcesz lub korzystasz, aby uzyskać plik kernel.sin.
    Możliwe, że skrypt zadziała także z custom kernelami dla stock Romu, ale nie z każdym,
    Taki kernel musi być w formacie .sin, .elf lub .img.
  4. Skopiuj plik .sin do folderu z rozpakowanym skryptem.
  5. Skopiuj do niego także plik TA.img z WŁASNĄ kopią partycji TA.
  6. Będąc w tym folderze uruchom plik DOUBLECLICKME_XXX.bat (XXX to wersja, którą posiadasz - MM przy Marshmallow, NOUGAT przy Nougacie) w notatniku (polecam Notepad++):
    1. Usuń: mm_ta_poc kernelX.img TA.img ramdisk lub nougat_ta_poc kernelX.sin TA.img ramdisk.
    2. Zamiast tego wstaw nazwę swojego pliku .sin/.elf/.img.

      lub skorzystaj z tego pliczku:
      Załączony plik  DOUBLECLICKME.zip   600 bajtów   0 Ilość pobrań
  7. Uruchom odpowiedni plik .bat:
    DOUBLECLICKME_MM.bat - jeśli wybrany soft to Marshmallow,
    DOUBLECLICKME_NOUGAT.bat - jeśli jest to Nougat.
  8. Skrypt zmodyfikuje kernel, tak aby pozwolił on na uruchomienie kopii znajdującej się w /data/local/tmp.
    Nowy (z 17.02) skrypt pyta się, czy chcemy wyłączyć dm-verify oraz Sony RIC, a więc kernel nie musi tego posiadać.
  9. (Custom Stockbased kernel) Jeśli z takowego korzystamy, posiada on DRMfix, a jednak chcielibyśmy skorzystać z tego poradnika to, gdy skrypt się po raz pierwszy zatrzyma, usuń:
    • plik drmfix z /ramdisk/vendor/lib/,
    • linijkę o nazwie :libdrmfix.so z pliku init.target.rc z /ramdisk/.
  10. Teraz skopiuj posiadany plik TA.img do tego folderu:
    1. W telefonie włącz Debugowanie USB (Ustawienia->Dla programistów).
      Jeśli nie możesz znaleźć tego menu to znaczy, że jest ono ukryte. W takim wypadku wejdź w Ustawienia->O telefonie (tablecie) i 7 razy wciśnij Numer kompilacji.
    2. Uruchom ADB.
    3. Skopiuj plik TA.img do folderu ADB komendą:

      Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

    4. Teraz nadajemy plikowi odpowiednie uprawnienia (każdą komendę potwierdzamy przyciskiem [ENTER]):

      Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

  11. Teraz wgraj zmodyfikowany kernel na telefon.
  12. Po włączeniu telefonu z nowym kernelem i wejściu do Service Menu, powinniśmy odkryć, że status bootloadera się zmienił :)

Oczywiście kernel pozwala jedynie na zamontowanie obrazu TA.img jako partycji TA.

Jeśli potrzebujemy dodatkowo wyłączyć dm-verify, czy RIC, to musimy WCZEŚNIEJ odpowiednio zmodyfikować kernel.

Przykładowo dla Z3+ i serii Z5 możemy skorzystać z tego poradnika:

Download

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

Jednak na pytanie o DRM fix TRZEBA odpowiedzieć NIE! Inaczej PoC nie zadziała.

 

Download

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

 

 

Na podstawie:

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.


Użytkownik ch3mn3y edytował ten post 17 luty 2017 - 21:41
Nowa wersja z 17.02.

  • 1

#2 OFFLINE juggler

juggler

    Administrator

  • Reputacja: 522
  • 5195 postów
  • Skąd:Warszawa
  • Telefon:Xperia Z5
  • Android:Marshmallow (6.0.1)
  • Rom:Stock 32.2.A.5.11
  • Kernel:Zach's Kernel Playground
  • Operator:Play

Napisano 12 luty 2017 - 14:23

W tej paczce, dokładnie w skrypcie dla Marshmallow jest błędny plik. Może autor poprawi, więc źródła nie usuwam. Wrzucam jednak poprawny plik, który należy podmienić!

Bez tego skrypt nie wykona zadania dla Marshmallow!

 

Oczywiście należy plik z mojej paczki uprzednio wypakować.

Załączone pliki


  • 0

#3 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 12 luty 2017 - 14:29

Przecież to to samo?

W 5 punkcie opisałem (a autor informował, w jednym z dalszych postów), że trzeba zmienić nazwę pliku .sin/.elf/.img na kernelX i wtedy bez edycji skryptu powinno spokojnie zadziałać.

 

Choć w sumie racja, tam jest jeszcze rozszerzenie...

 

Ale zmieniłem trochę opis, bo przy Nougacie jeszcze plik .sin by przeszedł, ale reszta nie. Przy MM .img by przeszedł, ale reszta nie za bardzo.

Najlepiej byłoby stworzyć skrypt z 2 if oraz else lub 3 if, no i zamiast nazw, dać *.sin/*.elf/*.img. Wtedy mogłoby zadziałać na pliku o jakiejkolwiek nazwie.


  • 0

#4 OFFLINE juggler

juggler

    Administrator

  • Reputacja: 522
  • 5195 postów
  • Skąd:Warszawa
  • Telefon:Xperia Z5
  • Android:Marshmallow (6.0.1)
  • Rom:Stock 32.2.A.5.11
  • Kernel:Zach's Kernel Playground
  • Operator:Play

Napisano 12 luty 2017 - 14:38

Nie wiem, czy zwróciłeś uwagę, ale po pobraniu w pliku DOUBLECLICKME_MM.bat ja mam to:

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

A jak wiadomo nie u każdego plik będzie się nazywał kernel_mm_F5321_34.1.A.3.49.sin.elf :D W pozostałych skryptach jest ok (kernelX).

 

Jak rozumiem, ta metoda powoduje również blokadę bootloadera?


  • 0

#5 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 12 luty 2017 - 14:46

Właśnie nie.

Chodzi o to, że bootloader jest zablokowany, gdy partycja TA spełnia wszystkie warunki.

Ten mod pozwala zamontować kopię TA jako partycję TA, a więc system myśli, że spełnia ona wszystkie warunki, a więc bootloader jest "zablokowany", choć w rzeczywistości tak nie jest.


  • 1

#6 OFFLINE juggler

juggler

    Administrator

  • Reputacja: 522
  • 5195 postów
  • Skąd:Warszawa
  • Telefon:Xperia Z5
  • Android:Marshmallow (6.0.1)
  • Rom:Stock 32.2.A.5.11
  • Kernel:Zach's Kernel Playground
  • Operator:Play

Napisano 12 luty 2017 - 15:27

No to lux. 

 

Niestety, ale podwójnie zmodyfikowany kernel na Z5 nie uruchamia się w ten sposób. Telefon wisi na logu SONY. Więc albo coś zrobiłem źle, albo nie można użyć najpierw narzędzia z tego poradnika:

Download

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

a później z tego. 

 

Tu podczas tworzenia kernela, jest pewien moment na aplikację dodatkowych skryptów. Przypuszczam, że trzeba by to zrobić wtedy. 



Dodano: 12 luty 2017 - 15:20

Oczywiście, jak wgram ponownie kernel wcześniejszy to działa. Teraz chciałem tą metodą zmodyfikować czysty kernel. Niestety po operacji telefon nadal nie wstaje. Dziwne. 

 

Jak wgram mu na nowo zmodyfikowany kernel z mojego poradnika to jest ok, a jak wgram zmodyfikowany tą metodą - to nie. Kopia TA skopiowana do dobrej lokalizacji, sprawdzałem na telefonie nawet. Poczekam chyba na rozwój wydarzeń.



Dodano: 12 luty 2017 - 15:27

Na Xda ktoś pisał, że miał taki przypadek jak ja i musiał rom wgrywać na nowo by zadziałało.


  • 0

#7 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 12 luty 2017 - 15:37

Niestety. Z tym, że to dopiero WIP, więc może średnio działać. Dobrze, że jest, przynajmniej jako pomysł.


  • 0

#8 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 12 luty 2017 - 16:45

Stworzyłem coś takiego.

Nie ważne, czy plikiem był boot.img, kernel.img, hjfdhufsd892r38n93.img, czy to samo, ale o rozszerzeniu .sin, to skrypt działał. Nie posiadam pliku .elf, aby go przetestować.

 

Nie znam się zbytnio na skryptach batch, więc pewnie dałoby się jakoś to łatwiej zrobić, ale na tyle pozwoliły moje zdolności :P

Załączone pliki


  • 0

#9 OFFLINE Mojzesz

Mojzesz

    Sensei

  • Reputacja: 868
  • 8546 postów
  • Skąd:Rawa Maz/Skierniewice
  • Telefon:Inny
  • Android:Nie podano
  • Operator:Plus

Napisano 12 luty 2017 - 16:57

A jakby spróbować dać wpis do ramdisk? Niby po co ale jestem ciekaw. Z resztą lepiej niech developerzy z xda to zrobią, bo ja tak podsuwam pomysł a ktoś doda i może być klapa.

TapTap by Project Hatsune Miku
  • 0

#10 OFFLINE juggler

juggler

    Administrator

  • Reputacja: 522
  • 5195 postów
  • Skąd:Warszawa
  • Telefon:Xperia Z5
  • Android:Marshmallow (6.0.1)
  • Rom:Stock 32.2.A.5.11
  • Kernel:Zach's Kernel Playground
  • Operator:Play

Napisano 12 luty 2017 - 20:39

Ja czekam na pierwszą oficjalna pewna wersję. Na xda toczy się dyskusja cały czas, ludzie ustawiają specjalne uprawnienia dla kopii Ta i tak dalej. Ja to wszystko robiłem i u mnie nie działa. A wgrywać oprogramowanie tylko po to by to sprawdzić mi się nie uśmiecha. Zastanawiam się tylko co to w moim przypadku by dało, skoro ja korzystam z moich kluczy DRM (a przynajmniej tak mi się wydaje).
  • 0

#11 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 12 luty 2017 - 21:06

Nic. Mi się wydaje, że to bardziej dla ludzi co chcą mieć zarówno Roota, jak i SafetyNet.

Bootloader musisz odblokować, aby zrootować. A przy odblokowanym nawet systemless i MAGISK nie pomogą.

A tak to w MAGISKu wyłączasz Roota i Xposed, więc system widzi zablokowany bootloader, brak Roota i innych modyfikacji, więc SafetyNet powinien działać, bo żadnej niepokojącej zmiany nie ma - przynajmniej w momencie jego uruchomienia.

 

Jak z tego nie korzystasz, to nic nie zyskasz. No chyba, że satysfakcję, że jesteś takim hakermanem, że obszedłeś zabezpieczenia bootloadera :P


  • 0

#12 OFFLINE juggler

juggler

    Administrator

  • Reputacja: 522
  • 5195 postów
  • Skąd:Warszawa
  • Telefon:Xperia Z5
  • Android:Marshmallow (6.0.1)
  • Rom:Stock 32.2.A.5.11
  • Kernel:Zach's Kernel Playground
  • Operator:Play

Napisano 12 luty 2017 - 21:15

W sumie jakbym to miał to pewnie dzialalby mi Android Pay
  • 1

#13 OFFLINE juggler

juggler

    Administrator

  • Reputacja: 522
  • 5195 postów
  • Skąd:Warszawa
  • Telefon:Xperia Z5
  • Android:Marshmallow (6.0.1)
  • Rom:Stock 32.2.A.5.11
  • Kernel:Zach's Kernel Playground
  • Operator:Play

Napisano 17 luty 2017 - 15:12

Na moje E6553 na Nougacie to jeszcze nie działa - brak zasięgu po wykonaniu poradnika.


  • 0

#14 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 17 luty 2017 - 15:58

@juggler

W momencie, gdy skrypt się zatrzyma (po rozpakowaniu) musisz w pliku init.rc edytować jedną linijkę.

Z:

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

Na:

Treść ukryta. Proszę Zaloguj się lub Zarejestruj by zobaczyć zawartość.

Ale nie mogę znaleźć tego pliku...

 

EDIT: Jakby ktoś znalazł ten plik lub inny z tą linijką to proszę o info. Ja go znaleźć nie mogę.

Na pytanie do autora dostałem informację, że to tylko w kernelu dla 7.0 jest. Spoko, pobrałem i... nie ma...

 

EDIT2: Podobno jest jakaś wersja z 14.02, ale w żadnym poście jej nie ma, a ta z OP na XDA jest dokładnie tą samą co dodałem tutaj 10.02...


  • 0

#15 OFFLINE ch3mn3y

ch3mn3y

    (o_O) Jaola Tymon (O_o)

  • Autor tematu
  • Reputacja: 1347
  • 15241 postów
  • Skąd:Województwa Nadmorskie
  • Telefon:Xperia Z Ultra
  • Android:KitKat (4.4.4)
  • Rom:AICP 7.0
  • Kernel:GreatDevs 1 beta
  • Operator:Play

Napisano 17 luty 2017 - 21:46

Nowa wersja skryptu, która:

  • nie powinna powodować problemu z brakiem zasięgu,
  • wspiera softy bazujące na Jelly Bean (4.1-4.3) - nie wiem skąd taki skok,
  • pozwala na wyłączenie dm-verify oraz Sony RIC, a także wyłączyć wymuszone szyfrowanie (choć np. stock .376 dla Z5 ma to już wyłączone),
  • TA.img powinno zostać skopiowane do ramdisk'u, a następnie automatycznie skopiowany do /data/local/tmp/ (ale wolałem zostawić fragment z ręczną częścią).

  • 0







Również z jednym lub większą ilością słów kluczowych: MOD

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych


XperiaSite.pl jest nieoficjalnym i niezależnym serwisem poświęconym smartfonom z serii Sony Xperia. Wszystkie znaki towarowe, nazwy firm oraz logotypy wymienione na stronie należą do ich właścicieli.Strona ma charakter informacyjny.