Skip to main content

Extract files from IPSWs/OTAs

ipsw extract

Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW/OTA (and MUCH MORE)

❯ ipsw extract --help
Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW/OTA

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

Aliases:
extract, e, ex

Flags:
-m, --dmg Extract File System DMG file
-t, --dtree Extract DeviceTree
-d, --dyld Extract dyld_shared_cache
-a, --dyld-arch stringArray dyld_shared_cache architecture to extract
-f, --files Extract File System files
--flat Do NOT perserve directory structure when extracting
-h, --help help for extract
-i, --iboot Extract iBoot
--insecure do not verify ssl certs
-b, --kbag Extract Im4p Keybags
-k, --kernel Extract kernelcache
-o, --output string Folder to extract files to
--pattern string Extract files that match regex
--proxy string HTTP/HTTPS proxy
-r, --remote Extract from URL
-s, --sep Extract sep-firmware

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

Extract kernelcache from a previously downloaded IPSW or OTA

❯ ipsw extract --kernel iPhone11,2_12.0_16A366_Restore.ipsw

Extract dyld_shared_cache from a previously downloaded IPSW

  • macOS
❯ ipsw extract --dyld iPhone11,2_12.0_16A366_Restore.ipsw
• Extracting dyld_shared_cache from IPSW
• Mounting DMG
• Extracting System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64e to dyld_shared_cache
• Unmounting DMG
  • docker
docker run --init -it --rm \
--device /dev/fuse \
--cap-add=SYS_ADMIN \
-v `pwd` :/data \
blacktop/ipsw -V extract --dyld iPhone11_2_12.4.1_16G102_Restore.ipsw

All these commands can also be ran on remote IPSWs/OTAs

Via the power of partialzip

Extract all files matching a user-specified regex pattern from remote IPSW or OTA zip

❯ ipsw extract --remote https://updates.cdn-apple.com/../iPodtouch_7_13.3_17C54_Restore.ipsw --pattern '.*BuidManifest.plist$'