
脱獄済みデバイスからApp Store、サイドロード、およびシステムアプリを含む、復号化されたiOSアプリを.ipaとしてダンプする堅牢なFridaベースのツール。
このプロジェクトは frida-ios-dump に触発されました。
最近そのツールで問題に遭遇したため、今日直面する問題に対処するために、より堅牢で拡張された frida-ipa-extract を作成することにしました。
脱獄済みiOSデバイスからFridaを使用して復号化された .ipa を抽出します。App Store、サイドロード、システムアプリでインストールされたアプリに対応。
frida-server が実行されていることインストール:
# Install as a standalone tool using uv or pipx
uv tool install git+https://github.com/lautarovculic/frida-ipa-extract.git
# Or install as an editable package (for development)
pip install -e .
# Using the entry point (if installed as standalone tool)
frida-ipa-extract
# Or using the script directly
python extract.py -U -f com.example.app -o MyApp.ipa
python extract.py -U -f com.example.app -o MyApp.ipa --sandbox
python extract.py -U -f com.example.app -o MyApp.ipa --no-resume
python -m frida_ipa_extract -U --pid 1234 -o MyApp.ipa
./extract.py -U "My Running App"
python extract.py -H 192.168.100.32 -P 2222 -u root -p password -f com.example.app
引数:
-f <target>: アプリを起動(バンドルIDまたはアプリ名)--pid <pid>: 実行中のPIDにアタッチtarget (位置引数): 実行中のアプリのアプリ名/バンドルID-o <path>: 出力IPAパス(デフォルトは <AppName>.ipa)-U: USB経由で接続-H <host> -P <port> -u <user> -p <pass>: SSH経由で接続(paramiko)--sandbox: アプリのサンドボックスをカレントディレクトリの <AppName>-sandbox にダンプ--no-resume: 起動したアプリをサスペンド状態のままにする(インストルメント時に脱獄検出でアプリがクラッシュする場合に有用)-f または --pid を指定しない場合、ツールは実行中のアプリにアタッチします。ターゲットが指定されていない場合は、実行中のアプリをリスト表示して選択を促します。
-U なしで使用する場合、ツールは frida-server へのローカルトンネルをポート 27042 に作成し、SFTPを使用してアプリバンドルをダウンロードします。-U と -H の両方を指定した場合、FridaにはUSBが使用され、ファイル転送にはSSHのみが使用されます。-f を使用して起動します。frida-server が実行されていることを確認してください。--no-resume またはSSH転送を使用してください。Frida attach timed out: アプリがアタッチをブロックする可能性があります。-f を使用して起動するか、--no-resume を試してください。script has been destroyed が発生: アプリがクラッシュしました。--no-resume を使用して再試行するか、SSH転送(-H/-u/-p)を使用してください。No running apps found: アプリが実行されていません。-f を使用して起動してください。