Apple AirDropとのリバースエンジニアリングによるプロトコル互換性を利用して、Wi-Fi経由でファイルを送受信するオープンソースのPython製コマンドラインツール。
blacktop/ipsw
IPSW/OTAのダウンロード、Mach-Oやdyldキャッシュの解析、kernelcacheの調査、接続中のiOSデバイス操作に対応した、Appleファームウェア研究用CLIツールキット。
- スター
- 3,870
- フォーク
- 325
- 未解決の Issue
- 23
- 最終コミット
- 21 時間前
これは何?
ipswは、AppleファームウェアやOSの内部を調査する研究者向けのGo製CLIツールキットです。iOSやmacOSのIPSWおよびOTAファームウェアパッケージをダウンロードして展開できるほか、macOSインストーラ、Xcode、KDKも取得できます。
ファームウェアを入手した後は、Mach-Oバイナリの検査、ARM64コードの逆アセンブル、dyld共有キャッシュの解析を行えます。dylibの抽出、Objective-Cヘッダーのダンプ、Swiftメタデータの読み取りにも対応しています。カーネル関連では、KEXTの抽出、システムコールやシンボルの一覧表示、ビルド間のkernelcache比較が可能です。
CLIから接続中のiOSデバイスを操作して、アプリの一覧表示、AFC経由のファイル転送、syslogの取得、開発者イメージのマウントも行えます。そのほか、IMG4の解析、AEAの復号、クラッシュログのシンボリケーション、オプションのLLM支援による逆コンパイルなどのコマンドがあります。別途、ipswdデーモンが自動化向けのREST APIを提供します。
主な機能
- 01コマンドラインからIPSW、OTA、macOSインストーラ、Xcode、KDKをダウンロードする。
- 02Mach-Oのロードコマンド、シンボル、署名、エンタイトルメントを調べ、ARM64コードを逆アセンブルする。
- 03dyld共有キャッシュからdylibを抽出し、Objective-Cヘッダーをダンプする。
- 04KEXTを抽出し、ファームウェアのビルド間でkernelcacheを比較する。
- 05接続中のiOSデバイスからアプリを一覧表示し、ファイルを転送してログを取得する。
- 06ipswdデーモンを通じて、自動化向けのREST APIを提供する。
ユースケース
- 新しいiOSファームウェアのリリースからkernelcacheを抽出して解析する。
- dyld共有キャッシュからプライベートフレームワークのObjective-Cヘッダーをダンプする。
- 2つのファームウェアビルドを比較し、変更されたコンポーネントを確認する。
- デバッグやセキュリティ研究でiOSのクラッシュログをシンボリケーションする。
クイックスタート
- 1
HomebrewでmacOSにインストール(extrasビルド)
brew install blacktop/tap/ipsw - 2
snapでLinuxにインストール
sudo snap install ipsw - 3
iPhone 15 Pro用の最新IPSWをダウンロード
ipsw download ipsw --device iPhone16,1 --latest
使う前に知っておきたいこと
- 一部のコマンドはホストOSまたはビルドバリアントに依存し、Fridaのサポートには別途ビルドが必要です。
- ソースからビルドするにはGo 1.26以降と、CGO用のCツールチェーンが必要です。
収録されている特集
トピック
よくある質問
- ipsw とは?
- IPSW/OTAのダウンロード、Mach-Oやdyldキャッシュの解析、kernelcacheの調査、接続中のiOSデバイス操作に対応した、Appleファームウェア研究用CLIツールキット。 ipswは、AppleファームウェアやOSの内部を調査する研究者向けのGo製CLIツールキットです。iOSやmacOSのIPSWおよびOTAファームウェアパッケージをダウンロードして展開できるほか、macOSインストーラ、Xcode、KDKも取得できます。
- ipsw は無料で使えますか?ライセンスは?
- ipsw は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ipsw は今もメンテナンスされていますか?
- 活発にメンテナンス中。ipsw の最終コミットは 2026年11月6日 です。
- ipsw は何に使えますか?
- 新しいiOSファームウェアのリリースからkernelcacheを抽出して解析する。 dyld共有キャッシュからプライベートフレームワークのObjective-Cヘッダーをダンプする。 2つのファームウェアビルドを比較し、変更されたコンポーネントを確認する。 デバッグやセキュリティ研究でiOSのクラッシュログをシンボリケーションする。
- ipsw のインストール方法は?
- HomebrewでmacOSにインストール(extrasビルド): brew install blacktop/tap/ipsw snapでLinuxにインストール: sudo snap install ipsw iPhone 15 Pro用の最新IPSWをダウンロード: ipsw download ipsw --device iPhone16,1 --latest
- ipsw はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/blacktop/ipsw
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ELF、PE、Mach-O、Androidの実行ファイル形式を解析・変更・抽象化する、PythonおよびRustバインディングを備えたクロスプラットフォームのC++ライブラリ。
QEMUをベースに、iOS、macOS、visionOSでWindowsやLinuxなどを実行できる、多機能なシステムエミュレーター兼仮想マシンホストです。
Rust製のファームウェア解析ツール。ファイル内に埋め込まれたファイルやデータを特定し、必要に応じて抽出できます。