【问题标题】:ELF binary make section unaccessibleELF 二进制使部分无法访问
【发布时间】:2016-01-20 21:17:30
【问题描述】:

我正在为大学作业实施原型堆栈保护机制。 我试图“强化”的测试二进制文件是一个静态链接的 elf 二进制文件,它有多个堆栈,这些堆栈被硬编码为 elf 部分。不同的堆栈由保护页(4096 字节部分)分隔。 保护页面应该是不可访问的,类似于 mprotect 的 PROT_NONE 会做的事情。我尝试在只读模式下使用带有 --set-section-flags 的 objcopy,但溢出其中一个堆栈仍然会导致数据被写入保护页面,这意味着它显然仍然是可写的。

如何仅使用 elf 部分标志(或类似的 elf 属性)使这样的部分无法访问?

【问题讨论】:

    标签: elf


    【解决方案1】:

    我能找到的最接近的方法是使用 FLAGS 设置为 0 的 ELF LOAD 程序头。

    请参阅 Chromium NACL 链接器脚本中的“保留”PHDR:https://src.chromium.org/native_client/trunk/src/native_client/src/trusted/service_runtime/linux/nacl_bootstrap.x

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2012-05-15
      • 2012-08-12
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      相关资源
      最近更新 更多