2011-12-30 16 views
7

Niedawno opublikowałem aplikację na Android Market, korzystając z systemu licencjonowania z modelem ServerManagedPolicy.Unikaj pęknięć apk

Kilka dni temu ktoś złamał apk robiąc mu zawsze odpowiedź "Używanie buforowanej odpowiedzi na licencję" i zezwalaj na dostęp.

Jak mogę tego uniknąć w przyszłych aplikacjach? Dzięki!

Odpowiedz

12

zgadzam się z @Tom van der Woerdt zaimplementować własną bibliotekę licencji

Chciałbym również odnieść do zapoznania się z tym z Google I/O 2011:

Uchylanie Piraci i zatrzymywanie Wampiry

http://www.youtube.com/watch?v=TnSNCXR9fbY

EDIT:

The Presentation Notes z uchylanie Piraci i zatrzymywanie Wampiry

Kilka podstawowych keypoints

+0

Powyższe linki nie zawsze przechodzą na stronę połączoną ... wydaje się, że działa tylko czasami i zależy od systemu operacyjnego i przeglądarki. Tak więc zanotuj końcowy "#% 3ar.page.15" w adresach URL. Jeśli nie jesteś automatycznie przekierowywany na tę stronę, zapoznaj się z linkiem, aby zobaczyć, gdzie/na jakiej stronie powinieneś się znaleźć. – TryTryAgain

+1

Techniki oferowane w grze "Unikanie piratów i zatrzymywania wampirów" zostały omijane przez aplikację Lucky Patcher (LP), szczególnie po stronie klienta. Wiem, bo pobrałem kopię LP i używam jej do złamania mojej własnej aplikacji. Jedyną rzeczą, która nie jest jeszcze całkowicie pęknięta, jest zalecenie Reflection i walidacja po stronie serwera - ale to tylko kwestia czasu, zanim LP to zrobi! ... – ChuongPham

+0

@Chuong Dzięki za aktualizację rozmowy. Zaktualizuję tę odpowiedź po tym, jak poświęcę trochę czasu na badania. – TryTryAgain

5

Nie ma idealnego rozwiązania. Nawet Apple iOS ma takie problemy, ale na znacznie mniejszą skalę. Jeśli Twoja aplikacja jest bardzo popularna lub dobra, zostanie złamana. Powiedziałbym, że to komplement.

Oczywiście używanie standardowych bibliotek do licencjonowania jest zawsze złym pomysłem, ponieważ crackerzy mogą po prostu ponownie użyć swoich narzędzi do łamania zabezpieczeń dla każdej aplikacji, która została zbudowana przy użyciu tej samej biblioteki. Zaimplementuj własną bibliotekę licencjonowania, która znacznie utrudni crackowanie Twojej aplikacji.

Interesujący fakt: Apple OS X App Store ma również wbudowany system licencjonowania, ale programiści muszą napisać własne biblioteki, aby z niego korzystać. W ten sposób crackery nie mogą jednocześnie złamać wielu aplikacji, ponieważ każda aplikacja ma inną implementację systemu licencjonowania.