我正在研究文件迭代器,它决定 macho 文件是否可运行,并且喜欢根据文件大小添加快速检查。
似乎对于男子气概的最小尺寸没有真正的限制,但是有效的男子气概尺寸是否有下限。
这意味着低于此大小且由 0xfeedface/0xfeedfacf 前缀标识为 macho 的文件无法执行。
根据 Macho 结构,它应该包含 macho header 和可能指向其他段的加载命令。
如果有这样指定的限制,我如何编译/创建这样的大小为限制的文件。
我猜这样的文件将只包含单个加载命令头,指向最少的代码..它不会链接到任何dylib,包含静态数据,全局变量等..但是当我编译简单的主命令时返回 0,它仍然链接到 /usr/lib/libSystem.B.dylib
粗略下边界
谢谢
最佳答案
有人正是这样写的,tiny.s。它适用于早期版本的 OSX:
关于macos - 有效可执行 Mach-o 文件的最小大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49840407/