piątek, 27 sierpnia 2010

Zamieszanie wokół "złamania" License Verification Library dla Androida

Ok, czas wyprostować rzeczy bo w ostatnich dniach pojawiło się sporo głosów na temat "złamania Androida", "szerzenia piractwa" itp. nawet w, zdawałoby się, branżowych serwisach.

Zacznijmy od faktów. 23 sierpnia niejaki Justin Case napisał artykuł w serwisie Android Police na temat tego jak udało mu się obejść zabezpieczenia usługi licencyjnej (LVL). Sposób jest prosty (możecie go przeczytać w powyższym artykule) i sprowadza się do deasemblacji kodu, zmiany kodu, który sprawdza odpowiedź przychodzącą z LVL, tak by dla jakiejkolwiek flagi odpowiedzi zawsze pozwalał uruchomić aplikację i ponownej kompilacji. Sposób stary jak świat oprogramowania. Niektórzy chwalili Justina za dobrą robotę, inni odsądzali od czci i wiary (mimo, a może właśnie dlatego, że Justin deklaruje się jako przeciwnik piractwa i zachęca do kupowania aplikacji).

Pojawiły się głosy, że LVL jest do dupy, że gdyby zabezpieczenie było wbudowane w system operacyjny a nie dodawana (chcąc skorzystać z LVL trzeba "wywołać" tę usługę i dołączyć dodatkowy kod) to nie byłoby problemu. Nie jest to prawda. Jakiekolwiek by zabezpieczenie nie było to na poziomie programu sprowadza się do sprawdzenia czy coś można zrobić czy też nie. I to miejsce można znaleźć i zastąpić ten kod innym kodem (nie robiącym nic :)

W odpowiedzi na artykuł Justina Tim Bray napisał na blogu dla deweloperów komentarz do zaistniałej sytuacji. Przypomniał, że LVL to ważny krok naprzód, zaznaczając jednak, że pierwsze wydanie tej usługi jest zrobione w możliwie najprostszej formie. Skrytykował deweloperów za używanie przykładów użycia LVL bez żadnych modyfikacji (co ułatwia znalezienie fragmentów odpowiedzialnych za LVL w kodzie aplikacji) i nie obfuskowanie kodu. Powiedział też smutną prawdę, że piractwa nie da się wyeliminować, można uczynić je tylko trudniejszym i mniej opłacalnym. Tim zapowiedział też szerszą odpowiedź w późniejszym czasie.

Justin napisał odpowiedź na komentarz Tima, w którym generalnie zgadza się z większością jego tez ("99%").  Zarówno Justin jak i TIm zgadzają się ze sobą w tym, że mimo że LVL nie jest pozbawione wad to jest to w tej chwili najlepsze zabezpieczenie jakie istnieje. Na koniec artykułu Justin pokazał jeszcze jedno zabezpieczenie, dokładnie to samo, które opisałem kilka dni temu w tym poście.

Dobre podsumowanie usługi LVL można znaleźć też w tym poście.

Polecam też naprawdę bardzo dobry artykuł na temat piractwa w grach opisany na konkretnym przypadku ("Spyro: Year of the Dragon", Sony Playstation). Mimo że długi to naprawdę warto go przeczytać.

0 komentarze:

Prześlij komentarz