有效可执行文件的最小大小 Mach-o

Smallest size of valid executable Mach-o file

我正在研究决定 macho 文件是否可运行的文件迭代器,并希望根据文件大小添加快速检查。

似乎没有真正限制男子气概的最小尺寸,但是否有有效男子气概尺寸的下限。

这意味着无法执行由 0xfeedface/0xfeedfacf 前缀标识为 macho 的小于此大小的文件。

根据 Macho 结构,它应该包含 macho-headers 和 load-commands 可能指向额外的段。

如果有这样的指定限制,我怎么能compile/create这样的文件,其大小是限制。

我猜这样的文件只包含单个加载命令 header ,它指向最少的代码..它不会链接到任何 dylib,包含静态数据,全局变量等..但是当我编译 return 0 的简单主命令时,它仍然链接到 /usr/lib/libSystem.B.dylib

粗略的下边界

感谢

有人正是这样写的,tiny.s。它适用于 OSX:

的早期版本

https://gist.github.com/zliuva/1084476