Jak powszechnie wiadomo, piractwo staje się bardzo poważnym problemem w systemie Android. Czy Mono dla systemu Android zapewnia obfuskację kodu podczas kompilacji kodu natywnego?Mono dla Androida, ukrywanie kodu
Odpowiedz
Mono dla systemu Android nie zapewnia tej funkcji, jednak nadal można używać narzędzia innej firmy do zaciemniania. Ponieważ Mono dla systemu Android tworzy zespoły CIL, które są JITed przez środowisko wykonawcze Mono na urządzeniu z systemem Android, należy zaciemnić te. Zespoły .NET. Dlatego narzędzia takie jak obfuscator Android Proguard nie pomogą. Poniższe obfuscatory .NET zostały zgłoszone do pracy z Mono na Androida.
Jeśli używasz Xenocode Postbuild następnie upewnij się, że wyłączenie "redukcja metadanych" tak, że nazwy klasy zachowują ważność w Javie.
Aktualizacja
Xamarin.Android pozwala spakować pliki APK bez potrzeby skompilowanych .NET DLL. Oznacza to, że nie trzeba stosować obfuskacji z punktu widzenia .NET. Mogę wydobyć mój plik APK wydania i stwierdzić, że dołączono tylko plik classes.dex i pliki biblioteki .so. Aby to zaznaczyć, zaznacz pole "Osadź zestawy w natywnym kodzie" (może to być dostępne tylko dla subskrybentów Enterprise).
Dzięki. Zauważyłem, że kilka innych źródeł sugeruje również użycie Postgeneratora Xenocode. Pójdę i spróbuję. –
Jeśli znalazłeś odpowiedź wystarczającą, nie wahaj się oznaczyć jej jako zaakceptowanej odpowiedzi. –
@alexw Jak spakowałeś plik APK bez bibliotek DLL? – Ian