Czy jest jakiś sposób sprawdzenia, czy dana aplikacja na Androida lub iOS została zbudowana przy użyciu Xamarin?Znajdź, czy aplikacja została zbudowana przy użyciu Xamarin?
Odpowiedz
tak. Struktura folderu aplikacji. Dla przykładu można w Androidzie
Jeśli szukasz w „normalnej” mono droidów aplikacji (skompilowany z czymś Xamarin) wtedy zobaczysz niektóre z tych struktur w APK/ZIP”
/assemblies/Sikur.Monodroid.dll
/assemblies/Sikur.dll
/assemblies/Xamarin.Android.Support.v13.dll
/assemblies/Xamarin.Android.Support.v4.dll
/assemblies/Xamarin.Android.Support.v7.AppCompat.dll
/assemblies/Xamarin.Android.Support.v7.CardView.dll
/assemblies/Xamarin.Android.Support.v7.RecyclerView.dll
/assemblies/Xamarin.Mobile.dll
/assemblies/mscorlib.dll
/classes.dex
/lib
/lib/armeabi-v7a
/lib/armeabi-v7a/libmonodroid.so
/lib/armeabi-v7a/libmonosgen-2.0.so
Plik w katalogu złożeń będzie kodem Mono/.Net i można go odwrócić za pomocą tych normalnych narzędzi.
classes.dex to normalny plik wykonywalny systemu Android Dalvik (dex), który można odwrócić za pomocą zwykłych narzędzi (baksmali, IDA Pro, itp.) - chociaż powinien to być tylko kod pośredniczący, który uruchamia silnik Mono.
Pliki znajdują się w bibliotece lib/**/*., Więc są to natywne biblioteki współdzielone, które są wkompilowane w plik ELF ARM. Zazwyczaj przechodzą one do monodroidowego silnika (libmonodroid.so) i potencjalnie do innych wtyczek, które zostały użyte przez programistę. Będą one wymagać deasemblatorów obsługujących ELF ARM, takich jak Hopper, IDA Pro, r2, itp.
W powyższym przykładzie jedyny kod inny niż Xamarin będzie znajdować się w Sikur.dll i Sikur.Monodroid.dll.
dekompilować apk https://ibotpeaches.github.io/Apktool/
Jeśli mają mono.dll jest w Xamarin.
można dekompilować niektóre. Dll w C# oglądania kodu.
oraz w systemie iOS nie można dekompilować. Aplikacje na Androida są kompilowane do niezależnego od komputera kodu bajtowego w języku Java i stosunkowo łatwo jest go przekonwertować z powrotem na język Java. Aplikacje na iOS są kompilowane bezpośrednio do kodu maszynowego z agresywną przepustką optymalizacyjną, która ma tendencję do niszczenia dużej części struktury oryginalnego kodu.
To nie znaczy, że nie można się nauczyć niczego użytecznego ze skompilowanej aplikacji na iOS. Narzędzie class-dump może wyodrębnić nazwy klas, właściwości i metod Objective-C z skompilowanej aplikacji, która może dostarczyć wskazówek, jak to jest zaimplementowane. NibUnlocker potrafi konwertować skompilowane pliki interfejsu użytkownika interfejsu użytkownika z powrotem do formatu edytowalnego. Hopper potrafi nie tylko dezasemblować kod maszynowy, aby przekształcić go w kod zespołu, ale może również przekonwertować go na bardziej zrozumiały kod pseudonimu. Obrazy, dźwięki i inne zasoby są zwykle dołączane niezaszyfrowane w pakiecie aplikacji na iOS.
Możesz spróbować użyć tej aplikacji i obserwować różnicę, jeśli ktoś może przeczytać tę odpowiedź. Daj mi znać, jaka jest różnica.
- 1. Aplikacja kątowa na Heroku zbudowana przy użyciu Webpacka - zmienne środowiskowe?
- 2. Jak sprawdzić, czy biblioteka statyczna została zbudowana, zawiera kod bitu?
- 3. Wykryj, czy aplikacja została odinstalowana
- 4. Jak odzyskać nazwę gałęzi git, która została zbudowana przez Jenkinsa przy użyciu strategii wyboru gałęzi odwróconej?
- 5. Prosta aplikacja zbudowana w oparciu o laravel?
- 6. Dowiedz się, która wersja Go a Binary została zbudowana?
- 7. Aplikacja nie została zainstalowana
- 8. Znajdź, kiedy linia została usunięta
- 9. Znajdź indeks wierszy tabeli przy użyciu jQuery
- 10. Czy aplikacja zawsze buduje rozwiązanie przy użyciu konfiguracji kompilacji "Release"?
- 11. Epplus znajdź kolumnę przy użyciu nazwy kolumny
- 12. Znajdź datę dnia przy użyciu JQuery
- 13. Znajdź następny textarea przy użyciu jQuery
- 14. Aplikacja konsoli sprężynowej skonfigurowana przy użyciu adnotacji.
- 15. Aplikacja Android Ant zbudowana na projekcie z dwoma folderami źródłowymi
- 16. Sprawdź, czy aplikacja jest zbudowana w wersji 32- lub 64-bitowej?
- 17. Xamarin: Prosta aplikacja z platformą Cross Cross
- 18. Aplikacja paska stanu OSX przy użyciu Swift
- 19. Aplikacja kolb przy użyciu WTForms z SelectMultipleField
- 20. Xamarin blisko Android aplikacja na przycisk wstecz
- 21. Atrybuty niestandardowe monodroid/xamarin są puste przy użyciu opcji ObtainStyledAttributes
- 22. Wykryj, czy aplikacja została aktywowana z powodu UILocalNotification
- 23. Jak sprawdzić, czy aplikacja iOS została niedawno zainstalowana lub zaktualizowana?
- 24. Sprawdzanie, czy aplikacja iOS została uruchomiona przez Siri
- 25. Jak wykryć, czy aplikacja na Androida została zatrzymana lub odinstalowana?
- 26. Znajdź ostatnią tabelę czasu została zaktualizowana
- 27. Tabela SQL Azure nie została utworzona przy użyciu EF Migrations
- 28. Aplikacja TableView została zakończona z powodu "NSInternalInconsistencyException"
- 29. Wykryto, że aplikacja została uruchomiona w tle?
- 30. Moja aplikacja została odrzucona z powodu UIBackgroundModes