A mirror of Apple's official documentation describing the Mach-O file format used for macOS and iOS executables.
OS X ABI Mach-O File Format Reference is a mirror of Apple's official documentation that describes the Mach-O (Mach object) file format. This format is the standard for storing executable programs, libraries, and object files on disk in macOS and iOS. It details the binary structure, including headers, load commands, segments, and sections, which is essential for understanding how the operating system loads and runs software.
Low-level systems programmers, compiler and linker developers, security researchers performing binary analysis, and macOS/iOS developers needing to understand executable file internals for debugging or tool creation.
It provides the authoritative, detailed specification for the Mach-O format that is otherwise difficult to find on Apple's current developer site. Developers choose this reference for accurate, comprehensive information needed to build analysis tools, debug complex linking issues, or understand the macOS runtime environment at a fundamental level.
Mirror of OS X ABI Mach-O File Format Reference
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Covers all major regions including header, load commands, and data segments with detailed tables for standard sections like __TEXT and __DATA, as outlined in the README's segment and section references.
Mirrors Apple's official documentation, providing hard-to-find technical details essential for tool developers and low-level debugging, as noted in the preamble about its scarcity.
Includes exact C struct definitions for mach_header, segment_command, and others with field-by-field explanations, enabling precise implementation or analysis.
Explains support for 32-bit and 64-bit architectures, universal binaries, and dynamic linking mechanisms like LC_LOAD_DYLIB, based on the header and load command documentation.
As a mirror of older Apple documentation, it may not include recent macOS changes or new Mach-O features, with no updates indicated in the repository.
Purely a specification document with no code examples, tutorials, or tools, making it difficult for developers to apply the knowledge without additional resources.
Written in complex, low-level language that presupposes prior knowledge of binary formats, which can be inaccessible for those new to systems programming.