2015-02-26 9 views
6

Opracowałem swoją pierwszą aplikację na Androida w Unity3D i przesłałem ją do Google Play. I właśnie sobie uświadomiłem: istnieją usługi pobierania plików APK z Google Play. Istnieją usługi dekompresji plików apk i pobierania z nich wszystkich plików źródłowych. Czy to możliwe?Pobierz, włamuj się i ponownie załaduj plik APK do Google Play. Czy to możliwe?

Jak deweloper może chronić swoje aplikacje przed klonowaniem w ten sposób? (Używam Unity 3d, więc nie mogę korzystać z ProGuard). Czy robi to różnicę, którą rozwijam w Unity 3d? (Może być trudniej zrozumieć skompresowane źródła na wypadek, gdyby powstał w Unity). Ale jak Google Play chroni aplikacje przed hackowaniem kodu źródłowego?

Odpowiedz

5

Jest to absolutnie możliwe w większej części. Po prostu weź APK, zmień jego nazwę na .zip i już masz dostęp do zawartości. Przeglądanie folderów pokazuje (biorąc pod uwagę, że używasz Unity) wiele plików zasobów Unity. Te, za pomocą inspekcji, są dość trywialne, aby odzyskać zawartość.

Przechyl strukturę folderów, aż znajdziesz Assembly-CSharp.dll i rozpakuj go. Zrzuć go na coś takiego jak ILSpy, a przekonasz się, że twoje źródła nie są po prostu trywialne, aby je dekompilować, ale prawie wszystkie nazwy są zachowane, a nawet nie są w żaden sposób zaciemniane.

Aby zapewnić Ci przykład, jest to część mojego kodu

i to, co ja pobierane tylko teraz za pomocą ILSpy z APK Zbudowałem

Drobne różnice, ale nic, co by cię naprawdę zmyliło.

Podsumowując, domyślnie nie ma tam zbyt dużej ochrony. Są sposoby na zastosowanie zaciemniania, ale sam nie mam doświadczenia, więc nie mogę wypowiedzieć się na temat praktycznej użyteczności.

Najważniejsze jest to, że jeśli ktoś naprawdę chciałby wkładać wysiłek w wydobywanie tego, co stworzyłeś, może dojść do sedna. Jeśli chcesz chronić swoją pracę, musisz znaleźć rozwiązanie w innym miejscu.

Powiązane problemy