2012-12-17 19 views
9

Jest bardzo łatwo wyodrębnić aplikację apk z telefonu za pośrednictwem menedżerów aplikacji (np. Astro).Jak zapobiec łatwemu wyodrębnieniu aplikacji APK zainstalowanej na telefonie

Google ma podstawową ochronę, która została porzucona na rzecz skuteczniejszego zarządzania licencjami, , jednak stara ochrona bardziej komplikuje niewybaczalny udział APK poza rynkiem Google Play.

Biblioteka LVL ma bibliotekę opensource, ale nie znalazłem nic o implementacji ochrony anty-apk-copy bazującej na GooglePlay.

Byłoby przydatne podobne rozwiązanie oprócz ochrony zarządzania licencją.

Zauważyłem, że niektóre aplikacje nadal blokują kopię pliku APK w ten sam sposób, co w starej wersji Google Play.

Czy jest ktoś, kto wie, jak działa anty-apk-copy, lub czy istnieje podobna biblioteka ochrony open source?

Ktoś zapytał, co powinno być przyczyną tego rodzaju operacji.

Powodów jest wiele:

NaleŜy unikać masowe dyfuzji APK przez nieupoważnione kanały

NaleŜy unikać że pierwszy noobem po prostu otwierając APK z WinZip mógłby wyodrębnić wszystkie zasobów (jak PNG obrazy, przyciski, tekstury, DB itp) dla swojego użytku łatwo

-poprawić ogólnego bezpieczeństwa

PS

wiem, że dla każdego ochrony zawsze istnieje obejście go złamać, jednak nie oznacza to, że opuścić bardzo proste sposoby nadużywania swojej pracy zawsze jest najlepszym wyborem.

Odpowiedz

2

Myślę, że trudno jest uniemożliwić komuś skopiowanie plików z urządzenia. Ale dlaczego chcesz to osiągnąć? Jeśli jesteś tylko ze względów bezpieczeństwa, istnieje kilka innych metod.

Zasadniczo można użyć programu do ukrywania kodu. Jeśli to nie wystarczy, wiem, że w języku Java istnieje mechanizm, który może szyfrować pliki .jar i używać niestandardowego ClassLoader do odszyfrowania pliku i załadowania klasy.

Można to również wykorzystać w systemie Android.

  1. Użyj c oraz jni, aby zapewnić szyfrowanie/odszyfrowywanie apisa. (Dekompilacja plików .so jest bardziej skomplikowana.)
  2. Zapakuj jądro do pliku JAR. Zaszyfruj słoik i umieść go w zasobach /.
  3. Użyj nowego DexClassLoader, aby zastąpić domyślny. Spróbuj odszyfrować plik .jar i wczytać klasę.
+0

Dodałem wyjaśnienie do mojego pytania – Silverstorm

+1

Tak, nie ma żadnej doskonałej ochrony.To, co możemy zrobić, to po prostu utrudnić jej złamanie. Jeśli czas poświęcony na hakowanie jest zbyt długi, aby nie tolerować, myślę, że jest bezpieczny. – faylon

+0

Dowolna aktualizacja? Zauważyłem, że aplikacje, które niedawno zainstalowano, nie mogły zostać skopiowane za pomocą menedżera plików ES Astro i podobnych programów ... W jaki sposób mogę użyć podobnej ochrony? – AndreaF