2016-08-16 15 views

Trả lời

8

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ì.

Các vấn đề liên quan