OpenCore is a bootloader project maintained by Acidanthera that serves as a modern alternative to legacy boot solutions for macOS systems, particularly within the Hackintosh community. Written primarily in C, the project provides both a functional bootloader and an extensive development SDK containing UEFI support libraries designed for Apple-specific firmware environments.
The repository's core functionality centers on bootloader operations and system startup, with particular emphasis on UEFI-based boot processes. Beyond the bootloader itself, OpenCore includes a comprehensive library set that addresses gaps in standard UEFI implementations for Apple hardware compatibility. These libraries enable critical features such as Apple disk image loading, keyboard input aggregation specific to Apple devices, and PE image signature verification aligned with Apple's security requirements. The project implements supplemental UEFI secure boot code to bridge compatibility gaps between standard UEFI specifications and Apple's specific requirements.
The library ecosystem within OpenCore covers extensive functionality relevant to low-level system operations. Audio management capabilities include screen reading support for accessibility. ACPI and SMBIOS manipulation libraries allow modification of system firmware tables. CPU information gathering with timer support enables hardware detection and timing operations. Cryptographic primitives including SHA-256 and RSA implementations provide security operations, while decompression support for zlib, lzss, and lzvn formats handles compressed data. The project includes helper code for ACPI reads and modifications, higher-level abstractions for file and string operations, UEFI variable management, and overflow-checking arithmetic operations. PE image loading functionality operates independently of UEFI Secure Boot to avoid conflicts. Additional capabilities include plist configuration format parsing, PNG image manipulation, and both text and graphics output implementations. A kernel driver injection and patch engine enables XNU kernel customization.
The OcGuardLib component implements safety features including fast safe integral arithmetic operations mapped to compiler builtins, type alignment checking, and UBSan runtime based on NetBSD implementations. This library requires Clang compiler support with the fsanitize=undefined argument for full functionality.
The codebase traces its origins to earlier projects including AppleSupportPkg and the PicoLib library set developed by The HermitCrabs Lab. The project acknowledges contributions from numerous developers including al3xtjames, mhaeuser, Goldfish64, MikeBeaton, and others, alongside resources from the AppleLife community and insights from legacy bootloader projects like Chameleon and Clover. The project maintains active discussion forums documented in its repository resources, indicating ongoing community engagement and development activity around bootloader functionality, hardware compatibility, kernel patching, and dual-boot configurations for custom firmware environments.