1
0
Fork
You've already forked ipsw
0
iOS/macOS Research Swiss Army Knife
  • Go 94.4%
  • C 3.5%
  • JavaScript 0.8%
  • Shell 0.4%
  • HTML 0.3%
  • Other 0.4%
Find a file
2024年11月27日 12:02:56 -07:00
.github feat: add --force flag to ipsw macho disass to continue to disassemble even if Analysis fails 2024年11月14日 13:19:42 -07:00
api feat: add NEW /macho/info/strings route to ipswd 2024年10月14日 14:54:40 -06:00
cmd fix: properly wire --proxy and --insecure flags up in ipsw dl pcc cmd 2024年11月24日 16:37:49 -07:00
hack chore: remove a few more iOS18 TODOs 2024年10月08日 19:56:03 -06:00
internal chore: update to latest Configurator UA 2024年11月27日 12:00:41 -07:00
pkg chore(fcs): update keys 2024年11月20日 12:54:10 -07:00
www docs: bump docusaurus 2024年11月22日 11:13:52 -07:00
.cursorignore chore: improve storage size of symbol server data (postgres) 2024年09月25日 13:45:18 -06:00
.dockerignore Update .dockerignore 2021年04月14日 14:56:53 -06:00
.gitignore feat: add 🆕 ipsw download pcc command 2024年10月25日 21:28:26 -06:00
.goreleaser.yml Update .goreleaser.yml 2024年08月20日 12:08:43 -06:00
config.example.yml chore: change config file log line to debug 2023年04月13日 16:27:42 -06:00
CONTRIBUTING.md chore: bunch of CI/CD stuff 2022年08月13日 18:25:41 -06:00
Dockerfile chore(deps): bump golang from 1.22 to 1.23 ( #534 ) 2024年08月14日 09:56:33 -06:00
Dockerfile.daemon chore(deps): bump golang from 1.22 to 1.23 ( #534 ) 2024年08月14日 09:56:33 -06:00
go.mod chore(deps): bump deps 2024年11月27日 12:02:56 -07:00
go.sum chore(deps): bump deps 2024年11月27日 12:02:56 -07:00
LICENSE chore: bump copyright 2023年12月22日 14:41:37 -07:00
Makefile Update Makefile 2024年11月26日 08:57:49 -07:00
README.md Update README.md 2024年07月27日 09:24:39 -06:00
SECURITY.md Update SECURITY.md 2023年05月18日 11:57:25 -06:00

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
 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
 plist Dump plist as JSON
 pongo PongoOS Terminal
 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.

Documentation

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

ipsw Diffs

A collection of ipsw diffs can be found here:

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:

Follow Twitter Follow Mastodon GitHub Discussions

Known Issues

  • macOS IPSW etc support is sometimes broken

    Automated 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)

Credit

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

Stargazers

Stargazers over time

License

MIT Copyright (c) 2018-2024 blacktop