我正在创建一个ELF可执行文件,我需要知道操作系统需要哪些部分才能加载和执行它。
详细说明:
OS: Ubuntu 10.04 (64-bit) Kernel version: 2.6.32-24 Architecture: i386
我意识到以下可能是必要的:
还有其他人吗?
答案 0 :(得分:4)
"A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux "有关于如何(ab)使用各种ELF部分使可执行文件尽可能小的信息。如果您需要更多信息,它还包含指向ELF规范的链接。 (这也是一个相当有趣的阅读。)也许它会告诉你你需要知道什么?
答案 1 :(得分:2)
我决定尝试系统地从GCC生成的ELF文件中删除部分。
我能够删除许多部分,但是这些部分无法删除并且可执行文件仍然执行而没有分段错误:
.dynsym .dynstr .gnu.version_r .rel.plt .init .plt .text .fini .ctors .dtors .dynamic .got.plt .data .strtab