可用的精灵可执行文件需要哪些部分?
-
26-09-2019 - |
题
我正在创建一个精灵可执行文件,我需要知道操作系统需要哪些部分才能加载和执行。
细节:
OS: Ubuntu 10.04 (64-bit) Kernel version: 2.6.32-24 Architecture: i386
我意识到以下内容可能是必要的:
- 。文本
- .symtab
- .rel.text
还有其他吗?
解决方案
“关于为Linux创建真正十几个精灵可执行文件的旋风教程” 有有关如何(AB)使用各个ELF部分的信息,以使可执行文件尽可能小。如果您需要更多信息,它还包含指向ELF规范的链接。 (这也是一本相当有趣的阅读。)也许会告诉您您需要知道什么?
其他提示
我决定尝试从GCC生成的ELF文件系统地剥离部分。
我能够删除许多部分,但是这些部分无法删除,并且在没有分段错误的情况下仍能执行可执行文件:
.dynsym .dynstr .gnu.version_r .rel.plt .init .plt .text .fini .ctors .dtors .dynamic .got.plt .data .strtab
不隶属于 StackOverflow