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

Mach-O

What is Mach-O?

Mach-OMach-O is the native executable, object, and shared library format used by macOS, iOS, watchOS, and tvOS for binaries built with Apple's toolchain.


Mach-O (Mach Object) is the binary format used by Apple operating systems including macOS, iOS, watchOS, and tvOS. A Mach-O file contains a header, a list of load commands describing segments, dynamic linker information, symbol tables, and code-signature blobs. Universal (fat) binaries bundle slices for multiple architectures such as x86_64 and arm64. From a security perspective Mach-O carries code signing requirements enforced by AMFI and Gatekeeper, hardened-runtime entitlements, and notarization metadata; malware analysts inspect load commands, embedded LC_CODE_SIGNATURE, and dyld behavior to identify injection, dylib hijacking, and tampering.

Examples

  1. 01

    Inspecting a malicious .app bundle with otool -l and codesign --display to detect a tampered LC_CODE_SIGNATURE.

  2. 02

    An attacker using DYLD_INSERT_LIBRARIES on an unsigned Mach-O to load a malicious dylib.

Frequently asked questions

What is Mach-O?

Mach-O is the native executable, object, and shared library format used by macOS, iOS, watchOS, and tvOS for binaries built with Apple's toolchain. It belongs to the Application Security category of cybersecurity.

What does Mach-O mean?

Mach-O is the native executable, object, and shared library format used by macOS, iOS, watchOS, and tvOS for binaries built with Apple's toolchain.

How does Mach-O work?

Mach-O (Mach Object) is the binary format used by Apple operating systems including macOS, iOS, watchOS, and tvOS. A Mach-O file contains a header, a list of load commands describing segments, dynamic linker information, symbol tables, and code-signature blobs. Universal (fat) binaries bundle slices for multiple architectures such as x86_64 and arm64. From a security perspective Mach-O carries code signing requirements enforced by AMFI and Gatekeeper, hardened-runtime entitlements, and notarization metadata; malware analysts inspect load commands, embedded LC_CODE_SIGNATURE, and dyld behavior to identify injection, dylib hijacking, and tampering.

How do you defend against Mach-O?

Defences for Mach-O typically combine technical controls and operational practices, as detailed in the full definition above.

What are other names for Mach-O?

Common alternative names include: Mach Object, Mach-O binary.

Related terms