Skip to content

Instantly share code, notes, and snippets.

@mrlnc
Created August 9, 2022 07:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrlnc/efb7bfc8cea8655cf1df3e35560639dd to your computer and use it in GitHub Desktop.
Save mrlnc/efb7bfc8cea8655cf1df3e35560639dd to your computer and use it in GitHub Desktop.
IPSW file extraction

I'd like to look at files from the iOS 16 filesystem. It's super easy, so easy that everybody except me seems to just know.

tl;dr: unzip the ipsw-file and double-click on the biggest dmg file to mount the iOS file system.


Unzip the ipsw:

$ unzip iPhone14,4_16.0_20A5339d_Restore.ipsw

The contents look somewhat like this:

$ ls
078-13514-117.dmg                     Firmware
078-13705-081.dmg                     Restore.plist
078-13778-116.dmg                     BuildManifest.plist
078-37621-074.dmg                     kernelcache.release.iphone14
078-37644-065.dmg                     kernelcache.research.iphone14

Look for the biggest .dmg file:

$ du -sh *dmg
142M	078-13514-117.dmg
4.5G	078-13705-081.dmg
140M	078-13778-116.dmg
 10M	078-37621-074.dmg
2.6G	078-37644-065.dmg

You can simply double-click or call open 078-13705-081.dmg to mount the dmg-file. There's your iOS filesystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment