MCPcopy Index your code
hub / github.com/blacktop/ipsw

github.com/blacktop/ipsw @v20.08.91 sqlite

repository ↗ · DeepWiki ↗ · release v20.08.91 ↗
1,112 symbols 3,295 edges 108 files 413 documented · 37%
README

IPSW Logo

ipsw

iOS/macOS Research Swiss Army Knife

<a href="https://github.com/blacktop/ipsw/actions?query=workflow%3AGo" alt="Actions">
      <img src="https://github.com/blacktop/ipsw/workflows/Go/badge.svg" /></a>
<a href="https://github.com/blacktop/ipsw/releases/latest" alt="Downloads">
      <img src="https://img.shields.io/github/downloads/blacktop/ipsw/total.svg" /></a>
<a href="https://github.com/blacktop/ipsw/releases" alt="GitHub Release">
      <img src="https://img.shields.io/github/release/blacktop/ipsw.svg" /></a>
<a href="http://doge.mit-license.org" alt="LICENSE">
      <img src="https://img.shields.io/:license-mit-blue.svg" /></a>

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 v8.5-a disassember
  • research tool
  • otool wannabe
  • objdump wannabe
  • jtool wannabe

Install

❯ brew install blacktop/tap/ipsw

Getting Started

❯ ipsw

Download and Parse IPSWs

Usage:
  ipsw [command]

Available Commands:
  device-list     List all iOS devices
  disass          Disassemble ARM binaries at address or symbol
  download        Download and parse IPSW(s) from the internets
  dtree           Parse DeviceTree
  dyld            Parse dyld_shared_cache
  extract         Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW
  help            Help about any command
  iboot           Dump firmwares
  img4            Parse Img4
  info            Display IPSW Info
  kernel          Parse kernelcache
  macho           Parse a MachO file
  ota             Extract file(s) from OTA
  version         Print the version number of ipsw

Flags:
  -h, --help      help for ipsw
  -V, --verbose   verbose output

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

Documentation

Credit

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

License

MIT Copyright (c) 2018-2021 blacktop

Extension points exported contracts — how you extend this code

AST (Interface)
AST is an abstract syntax tree representing a C++ declaration. This is sufficient for the demangler but is by no means a [46 …
internal/demangle/ast.go
Reader (Interface)
The actual read interface needed by NewDecoder. If the passed in io.Reader does not also have ReadByte, the NewDecoder w
pkg/lzma/range_coder.go
Writer (Interface)
The actual write interface needed by NewEncoder. If the passed in io.Writer does not also have WriteByte and Flush, the
pkg/lzma/range_coder.go

Core symbols most depended-on inside this repo

Read
called by 128
pkg/dyld/objc.go
Seek
called by 95
internal/buffer/buffer.go
Close
called by 84
pkg/dyld/file.go
advance
called by 84
internal/demangle/demangle.go
Copy
called by 77
internal/demangle/ast.go
fail
called by 73
internal/demangle/demangle.go
writeString
called by 66
internal/demangle/ast.go
Indent
called by 65
internal/utils/utils.go

Shape

Method 587
Function 270
Struct 218
TypeAlias 31
Interface 5
Class 1

Languages

Go99%
Python1%

Modules by API surface

internal/demangle/ast.go310 symbols
pkg/dyld/types.go83 symbols
internal/demangle/demangle.go67 symbols
pkg/lzma/lzma_encoder.go39 symbols
pkg/dyld/objc.go38 symbols
pkg/img4/img4.go29 symbols
pkg/plist/plist.go23 symbols
pkg/lzma/range_coder.go23 symbols
pkg/crashlog/crashlog.go22 symbols
pkg/devicetree/devicetree.go21 symbols
pkg/dyld/file.go19 symbols
internal/download/itunes.go19 symbols

Dependencies from manifests, versioned

github.com/AlecAivazis/survey/v2v2.2.8 · 1×
github.com/Netflix/go-expectv0.0.0-2020112519455 · 1×
github.com/apex/logv1.9.0 · 1×
github.com/blacktop/go-arm64v0.6.18 · 1×
github.com/blacktop/go-machov1.1.21 · 1×
github.com/blacktop/go-plistv1.0.0 · 1×
github.com/blacktop/lzssv0.1.1 · 1×
github.com/blacktop/rangerv1.0.3 · 1×
github.com/fullsailor/pkcs7v0.0.0-2019040423074 · 1×

For agents

$ claude mcp add ipsw \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact