代码之家  ›  专栏  ›  技术社区  ›  Evan Carroll

gcc是否有-N选项?

  •  0
  • Evan Carroll  · 技术社区  · 6 年前

    在里面 "Learning Linux Binary Analysis" by Ryan "elfmaster" O'Neill .

    我最近在 64位Linux的Skeksi病毒的构建是将文本和数据段合并为一个段,即, 读+写+执行(RWX) ,通过使用 -N gcc选项。

    我没有看到 -N个 中的选项 man gcc 也不在 gcc --help | grep '\-N' ? 此选项是否重命名?

    1 回复  |  直到 6 年前
        1
  •  2
  •   wildplasser    6 年前

    -N 似乎是链接器(“加载程序”)的(gnu)ld的一个选项

    从…起 man ld :

    -N个 --omagic 将文本和数据节设置为可读写。此外,不要对数据段进行页面对齐,并禁用链接 共享库。如果输出格式 支持Unix风格的幻数,将输出标记为“OMAGIC”。注意:虽然 PE-COFF目标,不符合格式 Microsoft发布的规范。

    这个 gcc 编译器- 驾驶员 将传递以开头的选项 -Wl, 加载程序,因此您的gcc命令行如下所示:

    gcc -Wl,-N -oher_options...`