Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Zabezpieczanie aplikacji we właściwy sposób - instrukcje Google

Spisu treści:

Anonim

Bezpieczeństwo aplikacji, piractwo i zapobieganie to ostatnio popularne tematy, nie bez powodu. Bez solidnego rynku aplikacji, setki tysięcy nowych aktywacji każdego miesiąca nie będą możliwe do utrzymania, a solidny rynek nie będzie możliwy bez wsparcia programistów. Widzieliśmy, że Android ma wbudowane rozwiązanie zapobiegające piractwu, a także widzieliśmy, jak łatwo można go obejść, jeśli jesteś zdeterminowany i jeśli schemat pozostanie w swojej podstawowej formie. Google zasugerował, że mieli więcej informacji na ten temat i zgodnie z ich słowem tak zrobili. Po przerwie spójrzmy na metody Googlera, aby zapewnić bezpieczny i przyjazny dla użytkownika sposób ochrony aplikacji.

Usługa licencjonowania w usłudze Android Market i biblioteka weryfikacji licencji to potężne narzędzia dla programistów próbujące obejść piractwo aplikacji. Problem, jak ostatnio pokazano, polega na tym, że po wyjęciu z pudełka nietrudno go ominąć. Ponieważ ludzie to ludzie, a wielu z nich spędzi więcej czasu, niż warto złamać 99-procentową aplikację z rynku, Trevor Johns (jeden z deweloperów oprogramowania na Androida) opracował przydatny zestaw wskazówek, aby wzmocnić dostarczone narzędzia, i sprawić, by środki antypirackie działały lepiej.

Cztery kluczowe obszary to:

Kod zaciemniający

Ukrywanie kodu jest sztuczką stosowaną przez programistów, która zmienia kod źródłowy, czyniąc znane funkcje, pakiety, klasy i zmienne bardzo trudnymi do wyśledzenia poprzez podanie aliasu dla każdego z nich. Weźmy na przykład tę urojoną funkcję - onRedraw (). Każde miejsce, w którym używasz funkcji w kodzie źródłowym, jest tam, łatwe do odczytania i możliwe do wykorzystania. Obfuscator kodu zastąpi czytelną dla człowieka funkcję wygenerowanym aliasem - dobrym przykładem jest wy23 (). Szybkie spojrzenie (lub zautomatyzowane narzędzie) szukające funkcji nie zadziała, ponieważ potrzeba poważnego kopania, aby zobaczyć dokładnie, co tak naprawdę oznacza wy23 (). Dostępny jest komercyjny kod Java obfyousk8tors (ha!), A Trevor poleca ProGuard i planuje przyszły artykuł na blogu programistów Androida o współpracy z ProGuard.

Modyfikacja biblioteki licencji

Google zaleca programistom zmianę źródła dostarczonych bibliotek licencji w jak największym stopniu, przy jednoczesnym zachowaniu oryginalnej funkcji. Jest to jeden przypadek, w którym wybrana ścieżka jest nieistotna, dopóki osiągnięty jest cel. Programiści mogą zakopać funkcje w instrukcjach if / then, zapętlić, a nawet przenieść całą bibliotekę do własnego bloku kodu.

Aby pójść o krok dalej, programiści są zachęcani do korzystania z funkcji sprawdzania skrótów i innych metod szyfrowania w celu generowania nowych stałych i zmiany kodu w celu wyszukiwania nowych stałych zamiast używania tych dostarczonych przez Google w przykładowym kodzie. Pamiętaj, aby kliknąć link źródłowy, aby zobaczyć doskonały przykład prosto z Google pokazujący, jak to zrobić. I nie zapomnij tu też zaciemnić kodu!

Uczyń swoją aplikację odporną na manipulacje

To jest proste. Złodziej hakerów, aby usunąć licencję z aplikacji, musi odtworzyć aplikację i przebudować aplikację. Użyj kontroli CRC, aby temu zapobiec. Google ma także inne przydatne narzędzie dla tego obszaru - sprawdź, czy Android Market jest źródłem instalacji Twojej aplikacji, a jeśli nie, nie pozwól jej działać. Ponownie, jest sprytny przykład tego na link źródłowy.

Przenieś weryfikację licencji na zdalny serwer

Jeśli Twoja aplikacja korzysta ze składników online, Google zaleca przeniesienie informacji LVL i odpowiedzi z aplikacji na serwer. Gdy użytkownik korzysta z aplikacji, serwer sprawdza w Google, a jeśli wszystko nie jest koszerne, zawartość nie jest wyświetlana. Choć proste, jest również bardzo skuteczne, aby obejść ten problem, ktoś musiałby zmienić nie tylko aplikację, ale także zawartość na serwerze. Pamiętaj, że lokalne dane nigdy nie są bezpieczne, ale właściwie utrzymany i zabezpieczony serwer to naprawdę trudny orzech do zgryzienia.

Wreszcie Google pamięta nas - użytkowników końcowych i zaleca, aby korzystać z tych sztuczek w sposób przejrzysty i przyjazny dla użytkownika. Jeśli jesteś programistą aplikacji, który jest zainteresowany integracją i zapobieganiem piractwu swojej aplikacji (a powinieneś!) Koniecznie sprawdź link źródłowy. Robi się geekowaty i niewyraźny i wszystko to przedstawia. Dla reszty z nas jest to bardziej przypomnienie o tym, jak Goggle uwielbia swoich twórców, i możemy czuć się dobrze wiedząc, że duży G robi wszystko, aby pomóc.