【发布时间】:2014-06-11 07:43:20
【问题描述】:
我想知道 Linux 操作系统是如何执行文件的。 因此,从我在网络上的搜索中,我了解到每个设置了可运行位的文件都可以执行。但后来我了解到有一种名为 format 的 ELF,它是 Linux 可执行文件的标准。
所以我想知道的是,为了在系统中执行代码,一个具有运行权限(可运行位打开)的文件需要什么?我可以用十六进制编辑器创建一个新文件并在里面写 90(NOP 操作码)并期望它被执行吗?或者 Linux 是否需要某种标准格式,例如 ELF 格式或 Bash 格式?
【问题讨论】:
-
我记得在网上某处发现有人着手手工制作最小的有效可执行精灵的文章 - 最终他们最终重叠了一些数据结构,但在此过程中解释了每个数据结构的最小角色。我不确定是muppetlabs.com/~breadbox/software/tiny/teensy.html,还是另一个类似的。
-
@ChrisStratton、muppetlabs.com/~breadbox/software/tiny/teensy.html 或 timelessname.com/elfbin。什么?这只是一个小的 ELF 二进制文件,由
binfmt_elf加载。