- IPSW downloader/exploder
- OTA downloader/exploder
- macho parser
- ObjC class-dump
- Swift class-dump π§
- dyld_shared_cache parser
- kernelcache parser
- img4 parser/decrypter
- device-tree parser
- ARM v9-a disassember
- research tool
Use my tap (includes extras
version)
brew install blacktop/tap/ipsw
OR use the official formula
brew install ipsw
sudo snap install ipsw
scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git
scoop install blacktop/ipsw
β― ipsw
Download and Parse IPSWs (and SO much more)
Usage:
ipsw [command]
Available Commands:
appstore Interact with the App Store Connect API
class-dump ObjC class-dump a dylib from a DSC or MachO
device-list List all iOS devices
diff Diff IPSWs
download Download Apple Firmware files (and more)
dtree Parse DeviceTree
dyld Parse dyld_shared_cache
ent Search IPSW filesystem DMG or Folder for MachOs with a given entitlement
extract Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW/OTA
fw Firmware commands
help Help about any command
idev USB connected device commands
img4 Parse Img4
info Display IPSW/OTA Info
kernel Parse kernelcache
macho Parse MachO
mdevs List all MobileDevices in IPSW
mount Mount DMG from IPSW
ota Parse OTAs
pkg List contents of a DMG/PKG file
plist Dump plist as JSON
ssh SSH into a jailbroken device
swift-dump π§ Swift class-dump a dylib from a DSC or MachO
symbolicate Symbolicate ARM 64-bit crash logs (similar to Apple's symbolicatecrash)
version Print the version number of ipsw
watch Watch Github Commits
Flags:
--color colorize output
--config string config file (default is $HOME/.config/ipsw/config.yaml)
-h, --help help for ipsw
--no-color disable colorize output
-V, --verbose verbose output
Use "ipsw [command] --help" for more information about a command.
graph TD
A[Download] --> B[Extract]
B --> C[Parse]
C --> D[Dump]
D --> E[Search]
E --> F[Symbolicate]
A collection of ipsw
diffs can be found here:
You have questions, need support and or just want to talk about ipsw
?
Here are ways to get in touch with the ipsw
community:
-
macOS
IPSW etc support is sometimes brokenAutomated testing of
ipsw
is challenging as it requires a lot of resources to test all the different IPSW flavors and OS versions etc. No CI/CD can really handle that unless I want to wait forever for it to run on each commit. Please create an issue and I'll fix it as soon as I can β€οΈ (NOTE: a comprehensive test suite is in the roadmap so I can at least test on the few local IPSWs I have)
Big shout out to Jonathan Levin's amazing books and his legendary jtool
MIT Copyright (c) 2018-2025 blacktop