Skip to main content

ipsw extract

Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW/OTA

ipsw extract <IPSW/OTA | URL> [flags]

Examples

# Extract kernelcache from IPSW
$ ipsw extract --kernel iPhone15,2_16.5_20F66_Restore.ipsw

# Extract dyld_shared_cache for specific architecture
$ ipsw extract --dyld --dyld-arch arm64e iPhone.ipsw

# Extract all files matching a pattern (from the IPSW zip contents)
$ ipsw extract --pattern '.*\.ttf$' iOS.ipsw

# Extract multiple components with custom output directory
$ ipsw extract --kernel --sep --dyld -o /tmp/extracted iPhone.ipsw

# Extract from remote URL
$ ipsw extract --kernel --remote https://updates.cdn-apple.com/iPhone.ipsw

# Extract system version info as JSON
$ ipsw extract --sys-ver iPhone.ipsw

# Extract files from filesystem DMG matching pattern
$ ipsw extract --files --pattern '.*LaunchDaemons.*\.plist$' iPhone.ipsw

# Extract DriverKit dyld_shared_cache
$ ipsw extract --dyld --driverkit macOS.ipsw

Options

      --device string           Device to extract kernel for (e.g. iPhone10,6)
--dmg string Extract DMG file (app, sys, fs, exc, rdisk)
--driverkit Extract DriverKit dyld_shared_cache
--dtree Extract DeviceTree
-d, --dyld Extract dyld_shared_cache
-a, --dyld-arch stringArray dyld_shared_cache architecture to extract
-x, --exclave Extract Exclave Bundle
--fcs-key Extract AEA1 DMG fcs-key pem files
-f, --files Extract File System files
--flat Do NOT preserve directory structure when extracting
-h, --help help for extract
--iboot Extract iBoot
--ident string Identity Variant to select specific RestoreRamDisk (e.g. 'Erase', 'Upgrade', 'Recovery')
--insecure do not verify ssl certs
-j, --json Output extracted paths as JSON
--kbag Extract Im4p Keybags
-k, --kernel Extract kernelcache
-l, --lookup Lookup decryption keys on theapplewiki.com
-o, --output string Folder to extract files to
-p, --pattern string Extract files that match regex
--pem-db string AEA pem DB JSON file
--proxy string HTTP/HTTPS proxy
-r, --remote Extract from URL
--sep Extract sep-firmware
--sptm Extract SPTM and TXM Firmwares
--sys-ver Extract SystemVersion

Options inherited from parent commands

      --color           colorize output
--config string config file (default is $HOME/.config/ipsw/config.yaml)
--no-color disable colorize output
-V, --verbose verbose output

SEE ALSO

  • ipsw - Download and Parse IPSWs (and SO much more)