ipsw

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2023 License: MIT

README

IPSW Logo

ipsw

iOS/macOS Research Swiss Army Knife


What is ipsw 🤔

  • 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

Install

macOS

brew install blacktop/tap/ipsw

Linux

sudo snap install ipsw

Windows

scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git 
scoop install blacktop/ipsw

Getting Started

❯ ipsw

Download and Parse IPSWs (and SO much more)

Usage:
  ipsw [command]

Available Commands:
  appstore        Interact with the App Store Connect API
  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 for MachOs with a given entitlement
  extract         Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW/OTA
  help            Help about any command
  iboot           Dump firmwares
  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
  plist           Dump plist as JSON
  sepfw           Dump MachOs
  ssh             SSH into a jailbroken device
  symbolicate     Symbolicate ARM 64-bit crash logs (similar to Apple's symbolicatecrash)
  update          Download an ipsw update if one exists
  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
  -V, --verbose         verbose output

Use "ipsw [command] --help" for more information about a command.

Documentation

graph TD
A[Download] --> B[Extract]
B --> C[Parse]
C --> D[Dump]
D --> E[Search]
E --> F[Symbolicate]

Community

You have questions, need support and or just want to talk about ipsw?

Here are ways to get in touch with the ipsw community:

Join Discord Follow Twitter Follow Mastodon GitHub Discussions

Credit

Big shout out to Jonathan Levin's amazing books and his legendary jtool

License

MIT Copyright (c) 2018-2023 blacktop

Directories

Path Synopsis
api
Package api contains common constants for daemon and client.
Package api contains common constants for daemon and client.
server
Package server ipswd API
Package server ipswd API
server/routes
Package routes contains all the routes for the API
Package routes contains all the routes for the API
server/routes/daemon
Package daemon provides the daemon routes
Package daemon provides the daemon routes
server/routes/devicelist
Package devicelist contains the /device_list routes for the API
Package devicelist contains the /device_list routes for the API
server/routes/diff
Package diff provides /diff routes for diffing two files/text blobs
Package diff provides /diff routes for diffing two files/text blobs
server/routes/download
Package download contains the /download routes
Package download contains the /download routes
server/routes/dsc
Package dsc provides the /dsc route and handlers
Package dsc provides the /dsc route and handlers
server/routes/extract
Package extract provides the /extract API route
Package extract provides the /extract API route
server/routes/idev
Package idev provides the /idev route and handlers
Package idev provides the /idev route and handlers
server/routes/info
Package info provides a route for getting info about an IPSW or OTA file
Package info provides a route for getting info about an IPSW or OTA file
server/routes/kernel
Package kernel provides the /kernel routes
Package kernel provides the /kernel routes
server/routes/mount
Package mount provides the /mount API route
Package mount provides the /mount API route
cmd
internal
commands/dsc
Package dsc implements the `dsc` commands
Package dsc implements the `dsc` commands
commands/ent
Package ent contains functions to extract entitlements from an IPSW
Package ent contains functions to extract entitlements from an IPSW
commands/extract
Package extract contains the extract commands.
Package extract contains the extract commands.
commands/mount
Package mount provides the mount command
Package mount provides the mount command
config
Package config is used to load the configuration file
Package config is used to load the configuration file
daemon
Package daemon provides the daemon interface and implementation.
Package daemon provides the daemon interface and implementation.
db
Package db provides a database interface and implementations.
Package db provides a database interface and implementations.
demangle
Package demangle defines functions that demangle GCC/LLVM C++ symbol names.
Package demangle defines functions that demangle GCC/LLVM C++ symbol names.
diff
Package diff provides a way to diff two ipsws
Package diff provides a way to diff two ipsws
models
Package models contains the models for the database.
Package models contains the models for the database.
sm
ssh
pkg
bom
car
ctf
emu
lzma
The lzma package implements reading and writing of LZMA format compressed data.
The lzma package implements reading and writing of LZMA format compressed data.
onthedl
Package onthedl is for downloading files in parallel
Package onthedl is for downloading files in parallel
ota
sep
tbd
tss
usb

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL