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