Po prostu zaciemniłem mój kod Android za pomocą proguard, a następnie go zhakowałem. Jest wiele strun, które chciałbym ukryć przed wzrokiem ciekawskich. Kiedy dekompilowałem kod, istniały ciągi znaków, które każdy mógł zobaczyć ... i zmienić. Jeden z ciągów jest adresem URL do mojego serwera licencjonowania i może w efekcie zmienić adres URL, tak aby wskazywał na fałszywy serwer (ponieważ będę wydawał kod serwera publicznie). Jaki jest najlepszy sposób ukrywania tego rodzaju informacji?Ukrywanie ciągów w zakodowanym kodzie
Zauważyłem również, że ciągi w klasie R są liczbami losowymi, ale nie mogę znaleźć klasy R w dekompilowanym kodzie. Gdzie to jest?
przykład Foe widzę: new SimpleCursorAdapter(localActivity, 2130903058, localCursor, arrayOfString, arrayOfInt);
2130903058 plik jest układ, ale co to jest odwołanie? Liczba nic nie znaczy, chyba że wskazuje na jakiś adres.
Co przechowywania pewnych plików klas na serwerze. Czy istnieje możliwość pobrania i zainstalowania nowych plików klas po zainstalowaniu aplikacji? Czy istnieje sposób, aby to zrobić w bezpieczny sposób, tj. Nie pozwalając komuś skopiować plików już zarejestrowanego urządzenia i po prostu je używać? – jax
Możesz dodać kilka warstw, ale ostatecznie nie będziesz w stanie zapobiec ustalonemu hakerowi. W pewnym momencie lepiej zainwestować swój czas w resztę produktu, uczynić go wystarczająco dobrym (przeczytać wystarczająco wartościowo), a ludzie nie będą chcieli go ukraść. –
"W końcu nie będziesz w stanie zapobiec ustalonemu hakerowi" -> To są najlepsze słowa w tym długim wątku.Mark ma rację, mówiąc, że najlepsze, co możemy zrobić, to zwolnić atakujących. – Krypton