据我所知,iOS从iOS 4.3开始支持地址空间布局随机性(ASLR(,Android从4.0开始支持。
Xamarin是否支持此功能?
在xamarin-macios
上,PIE在应用程序的AOT过程中默认启用,除非您通过mtouch
:禁用它
{ "pie:", "Enable (default) or disable PIE (Position Independent Executable).", v => { app.EnablePie = ParseBool (v, "pie"); }},
在xamarin-android
上,AOT‘ing应用程序的程序集不是默认的,因此PIE对托管/IL代码没有任何意义。
对于mono
运行时,make文件默认启用-pie
/-fPIE
。
但最终,这些对安全专业人员来说都无关紧要,因为您应该使用readelf
等工具来验证您发布的二进制文件是否启用了DYN
。