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

标签 macos executable mach-o mach

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

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

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

根据 Macho 结构,它应该包含 macho header 和可能指向其他段的加载命令。

如果有这样指定的限制,我如何编译/创建这样的大小为限制的文件。

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

粗略下边界

谢谢

最佳答案

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

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

关于macos - 有效可执行 Mach-o 文件的最小大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49840407/

相关文章:

.net - DotNet构建CLI可在终端中使用,但不能在Docker构建中使用

php - 使用自定义 PHP 模块,为什么 $_POST 没有被填充?

objective-c - NSUserDefaults 与 CFPreferences,需要考虑什么

.net - 如何判断 win32 应用程序是否使用 .NET 运行时

ios - 分割多架构 Mach-o 二进制文件

xcode - ld : file not found:/Library/Developer/. ../libclang_rt.ubsan_osx_dynamic.dylib

c - Netbeans 可执行 Linux C

java - 打包应用程序,包括 java war 文件、Tomcat、DB

ios - Apple Mach-O 链接器错误(当我选择 iOS 设备时无法构建我的应用程序)

macos - libgmalloc 如何使用两级命名空间?