Có cách nào để tìm hiểu xem ứng dụng Android hoặc iOS đã cho có được xây dựng bằng Xamarin không?Tìm ứng dụng được xây dựng bằng Xamarin?
Trả lời
có. Cấu trúc của thư mục của ứng dụng. Ví dụ bạn có thể trong Android
Nếu bạn đang tìm kiếm một ứng dụng droid mono "bình thường" (biên soạn với một cái gì đó giống như Xamarin) sau đó bạn sẽ thấy một số trong những cấu trúc trong 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
Tệp trong thư mục hội đồng sẽ là mã Mono/.Net và có thể được đảo ngược bằng các công cụ thông thường đó.
classes.dex là tệp thực thi Dalvik Android bình thường (dex) có thể được đảo ngược bằng các công cụ thông thường (baksmali, IDA Pro, v.v.) - mặc dù nó chỉ là phần được tải để khởi động công cụ Mono.
Các tệp bao gồm trong lib/**/*. Do đó, các thư viện được chia sẻ gốc được biên dịch thành tệp ARM ELF. Đây là những thường đi đến động cơ monodroid (libmonodroid.so) và các plugin tiềm năng khác đã được sử dụng bởi các nhà phát triển. Chúng sẽ yêu cầu các bộ tháo rời có khả năng ELF ARM như Hopper, IDA Pro, r2, v.v.
Trong ví dụ cụ thể ở trên, mã không phải Xamarin duy nhất sẽ được đặt trong Sikur.dll và Sikur.Monodroid.dll.
dịch ngược apk https://ibotpeaches.github.io/Apktool/
Nếu có một mono.dll là trong Xamarin.
bạn có thể dịch ngược một số .dll trong C# xem mã.
và trong iOS bạn không thể giải mã được. Các ứng dụng Android được biên dịch thành mã bytecode Java độc lập với máy và tương đối dễ dàng chuyển đổi lại thành Java. Ứng dụng iOS được biên dịch trực tiếp sang mã máy, với một thẻ tối ưu hóa tích cực có xu hướng phá hủy rất nhiều cấu trúc của mã ban đầu.
Đó không phải là để nói rằng bạn không thể tìm hiểu bất cứ điều gì hữu ích từ một ứng dụng iOS biên dịch, mặc dù. Công cụ class-dump có thể trích xuất tên của các lớp Objective-C, các thuộc tính và các phương thức từ một ứng dụng được biên dịch, có thể cung cấp cho bạn manh mối về cách nó được triển khai thực hiện. NibUnlocker có thể chuyển đổi các tệp Giao diện người dùng của Trình tạo giao diện đã biên dịch trở lại định dạng có thể chỉnh sửa. Hopper không chỉ có thể tháo rời mã máy để biến nó thành mã lắp ráp, mà còn có thể chuyển đổi nó thành mã giả dễ hiểu hơn. Và hình ảnh, âm thanh và các tài nguyên khác thường được bao gồm không được mã hóa trong gói ứng dụng iOS.
Bạn có thể thử sử dụng ứng dụng này và xem sự khác biệt là bất kỳ ai đọc câu trả lời này đều có thể thử. Hãy cho tôi biết sự khác biệt là gì.
- 1. Xamarin: sử dụng NDK-xây dựng .so
- 2. Xamarin Màu sắc gây ra lỗi xây dựng
- 3. xây dựng ứng dụng .net trong Jenkins bằng MSBuild
- 4. Xamarin xây dựng cảnh báo hành động XA0101
- 5. Các ứng dụng demo được xây dựng với CodeIgniter
- 6. ứng dụng iPhone được xây dựng để mô phỏng, sẽ không xây dựng với thiết bị
- 7. Xây dựng ứng dụng sử dụng maven
- 8. XCode 8.0 ứng dụng xây dựng ultraslow
- 9. Maven xây dựng ứng dụng Android - BuildConfig
- 10. Sử dụng Xamarin Studio mới nhất, xây dựng các lỗi nêu rõ khung "Không thể tìm thấy .NetPortable"
- 11. Delphi XE2 - Xây dựng ứng dụng 64bit
- 12. Ứng dụng PhoneGap được xây dựng bằng cách gửi "PhoneGap Build" vào App Store
- 13. Một ứng dụng được xây dựng chỉ với armeabi chạy trên thiết bị armeabi-v7a?
- 14. Xây dựng cây tìm kiếm nhị phân cân bằng
- 15. Lỗi liên kết cố gắng xây dựng ứng dụng bằng Cocoapods bằng xcodebuild trên Jenkins
- 16. Android: xây dựng ứng dụng GUI gốc với NDK?
- 17. Dự án Xamarin UWP không được xây dựng sau khi tạo trong Visual Studio 2015
- 18. Xây dựng .NET Core 1.0 RC2 ứng dụng trên máy chủ xây dựng
- 19. Xây dựng ứng dụng ASP đầu tiên của tôi
- 20. Ứng dụng EagerSố đậu được quản lý được kiểm tra được xây dựng nhiều lần
- 21. Xây dựng các ứng dụng iOS bằng cách sử dụng xcodebuild mà không cần mã số
- 22. Sử dụng xamarin để xây dựng thư viện đa nền tảng có thể sử dụng được trong các ứng dụng gốc
- 23. Xamarin .jar ràng buộc - 'Bitmap không thể tìm được'
- 24. Sử dụng Gradle để xây dựng ứng dụng Python
- 25. Nơi để tìm apk xây dựng bằng cách sử dụng apportable
- 26. xây dựng ứng dụng android chỉ với kiến
- 27. Xây dựng ứng dụng Máy chủ/Khách hàng trong Cocoa
- 28. Lỗi trong việc xây dựng Sencha Touch 2 ứng dụng
- 29. Xây dựng một ứng dụng trò chuyện trong ios bằng cách sử dụng XMPP
- 30. Cảnh báo xây dựng phân phối ứng dụng iPhone