Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 639

Mach-O

Mach-O 是什么?

Mach-OMach-O 是 macOS、iOS、watchOS、tvOS 等 Apple 系统使用的原生可执行文件、目标文件及共享库格式,适用于 Apple 工具链生成的二进制。


Mach-O(Mach Object)是 Apple 操作系统(macOS、iOS、watchOS、tvOS)使用的二进制格式。Mach-O 文件包含文件头、描述各段的 load commands、动态链接器信息、符号表以及代码签名块。通用(fat)二进制将多种架构(如 x86_64 和 arm64)的切片打包在一起。从安全角度看,Mach-O 承载由 AMFI 和 Gatekeeper 执行的代码签名要求、Hardened Runtime 权限以及公证元数据;恶意软件分析人员通过查看 load commands、嵌入的 LC_CODE_SIGNATURE 以及 dyld 行为来识别注入、dylib 劫持和篡改。

示例

  1. 01

    使用 otool -l 与 codesign --display 检查恶意 .app 包,发现被篡改的 LC_CODE_SIGNATURE。

  2. 02

    攻击者对未签名的 Mach-O 使用 DYLD_INSERT_LIBRARIES 加载恶意 dylib。

常见问题

Mach-O 是什么?

Mach-O 是 macOS、iOS、watchOS、tvOS 等 Apple 系统使用的原生可执行文件、目标文件及共享库格式,适用于 Apple 工具链生成的二进制。 它属于网络安全的 应用安全 分类。

Mach-O 是什么意思?

Mach-O 是 macOS、iOS、watchOS、tvOS 等 Apple 系统使用的原生可执行文件、目标文件及共享库格式,适用于 Apple 工具链生成的二进制。

Mach-O 是如何工作的?

Mach-O(Mach Object)是 Apple 操作系统(macOS、iOS、watchOS、tvOS)使用的二进制格式。Mach-O 文件包含文件头、描述各段的 load commands、动态链接器信息、符号表以及代码签名块。通用(fat)二进制将多种架构(如 x86_64 和 arm64)的切片打包在一起。从安全角度看,Mach-O 承载由 AMFI 和 Gatekeeper 执行的代码签名要求、Hardened Runtime 权限以及公证元数据;恶意软件分析人员通过查看 load commands、嵌入的 LC_CODE_SIGNATURE 以及 dyld 行为来识别注入、dylib 劫持和篡改。

如何防御 Mach-O?

针对 Mach-O 的防御通常结合技术控制与运营实践,详见上方完整定义。

Mach-O 还有哪些其他名称?

常见的别称包括: Mach Object, Mach-O 二进制。

相关术语