Mac os x
Apple Inc.'s Macintosh OS X (pronounced "OS Ten") is the operating system distributed with Apple computers. It includes heavily used several programs by default, including Apple Mail, a web browser called Safari, and an Apple Address Book, and iCal.
The firmware is responsible for initializing the hardware and performing a POST (Power-On Self Test).
The default boot volume is stored in NVRAM and can be configured through the "Startup Disk" preference pane or the nvram command line utility 1. E.g. to print all of the firmware variables.
Additional boot arguments can be provided via the "boot-args" value 2.
Mac OS X extends EFI with a read-only HFS+ driver. According to 3 HFS+ volume header fields are used to point to a "blessed file" to be loaded as an EFI application. Though it is not clear which header field the source is referring to but likely related to the "bless" utility 4.
The firmware starts the Mac OS X boot loader (boot.efi). The bootloader displays a dark grey Apple logo on the screen and loads the Darwin kernel from disk, as well as the essential driver extensions.
The bootloader can be eithe a MZ-PE/COFF or EFI fat binary type executables and is commonly stored in:
/com.apple.recovery.boot/boot.efi /System/Library/CoreServices/boot.efi /usr/standalone/i386/boot.efi
The behavior of the bootloader can be configured in the com.apple.Boot.plist 5 which can be found in:
Disk image types
Mac OS X has support for various disk image types built-in, some of which are:
- read-write disk image (.dmg), which can be stored in Raw Image Format or Universal Disk Image Format (udif)
- Sparse disk image (.spareimage)
- Sparse bundle disk image (.sparsebundle)
Mac OS X Burn Folder:
This folder normally contains alias files (similar to LNK files under Windows). Which should have the following signature.
00000000 62 6f 6f 6b 00 00 00 00 6d 61 72 6b 00 00 00 00 |book....mark....|
These alias files contain additional date and time values.
Also check the following files for references to deleted .fpbf paths:
Actual burning of optical media is logged in:
/var/log/system.log /Users/$USERNAME/Library/Logs/DiscRecording.log /private/var/.logs_exporter/cache/Users/$USERNAME/Library/Logs/DiscRecording.log
These directories contain Property list (plist) files.
These directories contain Property list (plist) files.
Contains text files named .crash, .diag, .spin
Quarantine event database
Snow Leopard and earlier
/Users/$USER/Library/Preferences/com.apple.LaunchServices.QuarantineEvents SELECT datetime(LSQuarantineTimeStamp + 978307200, "unixepoch") as LSQuarantineTimeStamp, LSQuarantineAgentName, LSQuarantineOriginURLString, LSQuarantineDataURLString from LSQuarantineEvent;
Lion and later
This file is similar to the hibernation file on Windows.
Also see: 7
Last shutdown logs
Package Files (.PKG)
Package Files (.PKG) are XAR archives that contain a cpio archive and metadata 9.
Encodings / Codepages
Mac OS X typically uses UTF-16 big-endian to store Unicode strings, it also defines several codepages 10 that can be used to store ASCII strings.
Note that some of these codepages can differ for different versions of Mac OS.
|0||MacRoman||Encoding used for English and several other Western languages, also see: Wikipedia: Mac OS Roman,Unicode.org: ROMAN.TXT (sometimes referred to as Microsoft codepage 10000 though it is unclear if this is the pre Mac OS 8.5 MacRoman variant)|
|1||MacJapanese||also see: Unicode.org: JAPANESE.TXT (sometimes referred to as Mac Shift Jis or Microsoft codepage 10001)|
|2||MacChineseTrad||also see: Unicode.org: CHINTRAD.TXT (sometimes referred to as Mac Big5 or Microsoft codepage 10002)|
|3||MacKorean||also see: Unicode.org: KOREAN.TXT (sometimes referred to as Mac Hangul or Microsoft codepage 10003)|
|4||MacArabic||Encoding used for Arabic texts, also see: Wikipedia: MacArabic encoding, Unicode.org: ARABIC.TXT (sometimes referred to as Microsoft codepage 10004). Note that certain Unicode characters can be translated into multiple codepage characters such as U+0020 can be represented as 0x20 or 0xa0.|
|5||MacHebrew||also see: Unicode.org: HEBREW.TXT (sometimes referred to as Microsoft codepage 10005)|
|6||MacGreek||Encoding used for Greek scripts, Wikipedia: MacGreek encoding, Unicode.org: GREEK.TXT (sometimes referred to as Microsoft codepage 10006)|
|7||MacCyrillic||Encoding used for Cyrillic scripts, also see: Wikipedia: Mac OS Cyrillic encoding, Unicode.org: CYRILIC.TXT. Note that MacCyrillic supersedes the MacCyrillic encoding prior to Mac OS 9.0 (sometimes referred to as MacCyrillicCurrSignStdVariant, MacRussian or Microsoft codepage 10007) and MacUkrainian, Unicode.org: UKRAINE.TXT (sometimes referred to as MacCyrillicCurrSignUkrVariant or Microsoft codepage 10017).|
|9||MacDevanagari||also see: Unicode.org: DEVANAGA.TXT|
|10||MacGurmukhi||also see: Unicode.org: GURMUKHI.TXT|
|11||MacGujarati||also see: Unicode.org: GUJARATI.TXT|
|21||MacThai||also see: Wikipedia: ISO/IEC 8859-11 - Mac OS Thai, Unicode.org: THAI.TXT (sometimes referred to as Microsoft codepage 10021)|
|25||MacChineseSimp||also see: Unicode.org: CHINSIMP.TXT (sometimes referred to as Mac GB2312 or Microsoft codepage 10008)|
|29||MacCentralEurRoman||Encoding used for languages that use the Latin script, such as Central European and Southeastern European languages, also see: Wikipedia: Mac OS Central European encoding, Unicode.org: CENTEURO.TXT (sometimes referred to as Mac East Europe or Microsoft codepage 10029)|
|33||MacSymbol||also see: Unicode.org: SYMBOL.TXT|
|34||MacDingbats||also see: Wikipedia: Zapf Dingbats, Unicode.org: DINGBATS.TXT|
|35||MacTurkish||also see: Wikipedia: Mac OS Turkish encoding, Unicode.org: TURKISH.TXT (sometimes referred to as Microsoft codepage 10081)|
|36||MacCroatian||also see: Wikipedia: Mac OS Croatian encoding,Unicode.org: CROATIAN.TXT (sometimes referred to as Microsoft codepage 10082)|
|37||MacIcelandic||also see: Wikipedia: Mac OS Icelandic encoding, Unicode.org: ICELAND.TXT (sometimes referred to as Microsoft codepage 10079)|
|38||MacRomanian||also see: Wikipedia: Mac OS Romanian encoding,Unicode.org: ROMANIAN.TXT (sometimes referred to as Microsoft codepage 10010)|
|39||MacCeltic||also see: Unicode.org: CELTIC.TXT|
|40||MacGaelic||also see: Unicode.org: GAELIC.TXT|
|140||MacFarsi||also see: Wikipedia: MacFarsi encoding, Unicode.org: FARSI.TXT|
|236||MacInuit||also see: Unicode.org: INUIT.TXT|
- MacOS Process Monitoring
- Acquiring a MacOS System with Target Disk Mode
- Converting Binary Plists
- FileVault Disk Encryption
- File Vault
- Apple File System (apfs)
- Apple Partition Map (apm)
- Basic Security Module (BSM) file format
- Hierarchical File System Plus (HFS+) format
- Property list (plist)
- Official website
- Wikipedia entry on OS X
- Inside Macintosh, by Apple Computer, Inc., 1993
- What is Mac OS X?, by Amit Singh, 1994
- Mac OS X Directory Services Integration including Active Directory
- NSKeyedArchiver files – what are they, and how can I use them?
- Command Line ALF on Mac OS X
- Mac OS X Forensics, by Joaquin Moreno Garijo, March 4, 2015
- Hidden backdoor API to root privileges in Apple OS X, by Emil Kvarnhammar, April 9, 2015
- Max OS X Internals book (1st ed) by Jonathan Levin PDF download
- The Boot Loader, by Apple
- Reversing Mac Alias v3 Data Objects, by Patrick Olsen, August 15, 2016
- The Apple Examiner
- USB Entries on OS X
- Macintosh Forensics - A Guide for the Forensically Sound Examination of a Macintosh Computer, by Ryan R. Kubasiak
- The Intel Mac boot process, by the rEFIt project - Carving up EFI fat binaries, by snare, February 24, 2012
- Technical Note TN2035 - ColorSync on Mac OS X
- Internet Archive: Managing Color With ColorSync
- ICC.1:2004-10 - Image technology colour management - Architecture, profile format, and data structure, by International Color Consortium (ICC)
- ICC Profile Format Specification, by International Color Consortium (ICC), November 20, 1995
- ICC profiles
- ICC_Profile Tags
- Adobe XMP Developer Center
Quarantine event database
- New macOS Sierra (10.12) Forensic Artifacts – Introducing Unified Logging, by Sarah Edwards, November 13, 2016
Yet Another Assembler (YAA)
- YAA: An Obscure MacOS Compressed File Format, by nightwatchcyber, June 14, 2020