Ned*_*alm 2 android native decompiler xamarin.android xamarin
是否由Xamarin Monodroid(libmonodroid.so和libmonosgen-2.0.so)托管代码或本机代码生成.so文件?从这篇SO帖子看来,它们实际上是.NET IL二进制文件(不是本机机器代码).答案甚至建议Xamarin.Android二进制文件是JIT,并且可以在任何.NET反编译器中打开.但是,根据我的调查,这似乎不适用于dotPeak或ILSpy.
但是,另一个SE网站上的这篇文章似乎与此相矛盾.应该注意的是,它们通常指的是Android NDK.那么,是否应该在.NET反编译器或解析器(如Hopper和IDA Pro)上打开本机库(为您提供汇编代码)?
这些文件,libmonodroid.so和libmonosgen-2.0.so是本机库,是Mono和Xamarin.Android的核心库,这些当然是基于您在APP中支持的ABI/ARCH类型.
Xamarin.Android应用程序包具有与普通Android软件包相同的结构和布局,并增加了以下内容:
应用程序程序集(包含IL)未压缩存储在程序集文件夹中.
还包括包含Mono运行时的本机库,并为Android运行时(ART)提供并行运行时,以及与MONO < - > ART交谈的桥.
在Xamarin.Android 5.1及更高版本中,您可以选择AOT你的程序集,如Xamarin.iOS,因为Apple要求iOS上没有JIT/dynimically生成的代码.Android的此选项在打包属性中定义,默认为false.因此,对于已经AOT'd的程序集,已生成基于ABI/ARCH类型的机器代码并替换APPs C#IL.
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |