Proszę, powiedz mi, jak chronić nasz zasób w pakiecie APK. Z prostym procesem zmiany nazwy, każdy może kopiować i złowić zasoby aplikacji do rysowania, takie jak obrazy lub pliki soundFX. Moje pytanie brzmi, czy istnieje jakiś sposób ochrony zasobów do rysowania w aplikacji na Androida?Jak chronić zasób kreślarski w aplikacji Android
Odpowiedz
Rozkładany musi być dostępny dla systemu operacyjnego, więc musi być czytelny.
Jeśli naprawdę chcesz go zabezpieczyć, możesz rozważyć przechowywanie go zaszyfrowanego jako surowiec, następnie załadować go, odszyfrować do ByteStream i przekazać go do BitmapFactory. To, oczywiście, ma niewielkie konsekwencje wydajnościowe i zmusi cię do ręcznego zakodowania wielu rzeczy, które możesz w łatwy sposób zrobić w XML.
To wszystko na bok, istnieje wiele sposobów na kradzież danych - jeśli jest to losowanie, ludzie mogą po prostu zrobić zrzut ekranu.
Moje pytanie brzmi, czy istnieje jakiś sposób ochrony zasobów do rysowania w aplikacji na Androida?
Nie. Zasoby są czytelne z punktu widzenia projektu. Nawet jeśli nie chcesz pakować "obrazów lub plików SoundFX" jako zasobów, ale pobierasz je przy pierwszym uruchomieniu, użytkownicy z uprawnieniami administratora mogą nadal uzyskiwać dostęp do plików.
Ponieważ nie różni się znacząco od innych popularnych systemów operacyjnych, jakie rozwinęły się w ludzkości, nie jest jasne, dlaczego uważasz, że jest to problem z Androidem. Wystarczająco zainteresowani użytkownicy mogą uzyskać dostęp do plików "images lub soundFX" na iOS, Windows, OS X, Linux i tak dalej. Nawet aplikacje internetowe nie są odporne.
Myślę, że można chronić zasoby. W rzeczywistości istnieje klasa/rutyna niskiego poziomu do odczytu zasobów: AssetManager
- zwykła klasa Resources
znajduje się na szczycie tych AssetManager
. Aby zabezpieczyć zasoby, można przetrząsać zasoby i odczytać/rozszyfrować je za pomocą metod niskiego poziomu AssetManager: look here
- 1. Jak chronić ciąg połączenia aplikacji Yii?
- 2. Android: Zmień zasób łańcucha Programowo
- 3. Android - Udostępnij zasób między dwiema aplikacjami
- 4. Jak chronić hasło w python?
- 5. Jak chronić WebFonts
- 6. Odzyskaj zasób ciągu z innej aplikacji
- 7. Niesprawny zasób Android nie znaleziono wyjątek
- 8. Android - otwarty zasób z @drawable String
- 9. Jak chronić witrynę admin django?
- 10. Jak chronić prywatne REST API
- 11. Android - zasób colors.xml do wartości int
- 12. tekst Android - zasób nie jest ColorStateList
- 13. spray ochrona: jak chronić trasy?
- 14. Jak chronić plik Jar przed dekompilacją?
- 15. Jak utworzyć zasób PNG?
- 16. Jak chronić gałąź GIT (jak master)
- 17. Org-mode: chronić nacisk
- 18. Zasób Theme.AppCompat.Light nie został znaleziony w Android Studio
- 19. laravel chronić formularza ukrytych pól i url
- 20. Jak chronić internetowego sędziego przed złośliwym kodem?
- 21. Jak chronić aplikację przed duplikacją maszyny wirtualnej?
- 22. Zasób odniesienia w javascript
- 23. C++ Jak chronić się przed stdio.h makr
- 24. Android darowizny w aplikacji
- 25. Jak chronić się przed naruszeniem ciągu zapytania?
- 26. Jak chronić mój kod źródłowy po wdrożeniu?
- 27. Lucky patcher, jak mogę go chronić?
- 28. Jak wyśmiać kątowy zasób $ w testach jaśminowych
- 29. Jak zadeklarować zagnieżdżony zasób w activeadmin?
- 30. Jak zdobyć zasób ciągu w adapterze ViewPager?