【问题标题】:How can I enable PIE/ASLR in my monotouch application?如何在我的单点触控应用程序中启用 PIE/ASLR?
【发布时间】:2012-11-28 17:15:58
【问题描述】:

XCode 构建设置中有一个名为“不要创建与位置无关的可执行文件”的选项。这很容易在此处启用。

但是,我正在使用 MonoDevelop 和 MonoTouch 来开发我的应用程序,但在那里我找不到等效的设置。我尝试将 -fpie 标志传递给编译器,但似乎不起作用。当我使用 otool 检查编译后的二进制文件时,它没有设置 PIE 标志。

请帮忙。

【问题讨论】:

  • 出于好奇:为什么您仍然需要创建 PIE 可执行文件?
  • 只是一项额外的安全措施。启用 PIE 似乎是从 XCode 构建时的默认设置。我似乎无法弄清楚为什么它不是 MonoTouch 的默认设置。或者如何在 MonoTouch 中启用它

标签: ios xamarin.ios aslr pie-chart


【解决方案1】:

MonoTouch 目前不支持位置无关代码,当我们 AOT 托管代码时,我们会生成位置相关代码。

我们可能会在未来解决这个问题,但现在这不是优先事项。

更新

Apple 刚刚开始在发布到 App Store 时对未启用 PIE 的可执行文件发出警告。这显然会改变我们的优先事项。

更新 2

我们有一个潜在的修复程序正在进行测试/质量检查(但还没有确定的发布日期)。

更新 3 (2015/03/21)

这是很久以前修复的。

【讨论】:

  • 是的,我刚刚收到关于应用提交的警告。从电子邮件的语气看来,Apple 可能会在不久的将来需要 PIE 可执行文件:/@Rolf 知道这将为 Xamarin 付出什么样的努力以及何时可以使用 PIE 功能?
  • @PaulDB:Apple 昨天开始警告它,而我们刚刚开始研究它,所以我们还没有时间表。
  • Xamarin Studio 和 Xamarin.iOS 的路线图上是否有任何内容?
  • @DaleSmith:我们有一个潜在的修复程序正在通过测试/QA(但还没有确定的发布日期)。
猜你喜欢
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多