Apple の Virtualization.framework を用いて仮想 iPhone を起動する

2026/08/29 8:02

Apple の Virtualization.framework を用いて仮想 iPhone を起動する

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

元の要約は高品質であり、リストから全ての主要ポイントを効果的に捉えています。文章の流れは、ツールの目的から前提条件、セットアップ、使用コマンド、高度な機能、そして最後にその波及影響へと論理的に展開しています。表現は明確かつ専門的でおり、改善点は見当たりません。

概要:

本テキストは、Apple Silicon macOS に仮想 iPhone をブートさせるための強力なツールチェーンである

vphone-cli
を紹介します。これにより、開発時に物理デバイスを持つ必要が実質的になくなりつつあります。このシステムは、PCC リサーチインフラストラクチャ内の Apple の Virtualization フレームワークを活用し、ファームウェアのダウンロードからジャイルブレイクの実行までを含む完全な仮想マシンのライフサイクルを、安全なコマンドラインから管理できるようにします。起動には Xcode などの特定の前提条件と、SIP(システム整合性保護)や AMFI のようなシステム保護の設定変更が必要ですが、大部分の依存関係は Homebrew を通じて簡単に管理できます。セットアップが完了すると、開発者は SSH(ポート 22222)および VNC(
vnc://<ip>:5901
)を通じて仮想 iPhone に直接アクセスし、堅牢な品質保証タスクを実行できます。さらにこのエコシステムは、自動化ソケットを介したタッチ入力シミュレーションや AI 駆動のテストフレームワークの統合といった高度な相互作用も支援しています。究極的には、この技術は個人ユーザーも企業も、多数の実機ハードウェアユニットを維持する物流的な負担をかけずに、大規模なデバイステストを自動化し、カスタムファームウェアを展開し、深いセキュリティ研究を行うことを可能にします。

本文

Apple Silicon で iPhone VM を起動する方法 (Virtualization.framework)

Apple の

Virtualization.framework
と PCC リサーチインフラストラクチャを使用して、Mac で仮想的な iPhone(VM)を起動・運用するためのガイドです。


1. 前提条件と環境設定

システム要件

  • チップセット: Apple Silicon (M1/M2/M3 など) 搭載 Mac
  • OS: macOS 15 (Sequoia) 以降
  • 開発環境: Xcode および iOS SDK(ゲストのデーモンをクロスコンパイルするため必須)

セキュリティ設定 (SIP/AMFI の緩和)

仮想マシンを実行するには、システム保護機能の一時的な緩和が必要です。以下のいずれかの方法で対応してください。

オプション A: SIP を完全に無効化する(推奨:最も制限が少ない)

Recovery モード(電源ボタン長押し → ターミナル起動)から実行します。

csrutil disable
csrutil allow-research-guests enable

その後、以下のブート引数で再起動して AMFI を無効化します。

sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"

オプション B: SIP を維持しつつホワイトリスト化する(デバッグ用)

Recovery モードから実行します。

csrutil enable --without debug
csrutil allow-research-guests enable

その後、以下のコマンドを実行:

vphone-amfidont
# ローカルビルドの場合: .build/vphone-cli.app/Contents/Resources/vphone-amfidont

依存関係のインストール

Homebrew を使用して必要なツールをインストールしてください。

brew install python@3.13 aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstd
# ldid-procursus の最新ビルドが必要な場合は:
brew install --HEAD ldid-procursus && brew link --overwrite ldid-procursus

2. インストールとビルド

ソースの取得

brew install zqxwce/tap/vphone-cli
git clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git

ビルド手順

依存関係の解決、クロスコンパイル、署名処理を自動で行います。

cd vphone-cli
./scripts/setup_tools.sh        # ツールチェーンの準備と仮想環境作成
./scripts/build.sh              # バインディング作成と vphoned のビルド

インストール確認

ビルドされたアプリケーションの確認:

cd .build/vphone-cli.app/Contents/MacOS/
vphone-cli --help

注意: 構築されたファイルは

~/.vphone/
に自動的に保存されます。


3. クイックスタート (VM の作成と起動)

単一コマンドで VM のセットアップ(ダウンロード→パッチ→DFU リストアール→CFW 導入)を実行します。

# VM の作成 (-V / --variant でバージョン選択可能)
vphone-cli vm create myphone -V jb

# VM の起動
vphone-cli vm launch myphone

4. コマンド一覧と詳細な運用

管理コマンド

VM のライフサイクルを制御します。

コマンド説明
vm list
VM の一覧表示 (
--json
オプション付き)
vm info <name>
単一 VM の詳細情報
vm new <name>
CPU/メモリ設定付きの空 VM の作成
vm config
VM の仕様変更 (例:
--cpu 8 --memory 8192
)
vm clone
APFS クローンによる高速複製(新しい ID を付与)
vm export
データの圧縮エクスポート (zstd/xz)
vm import
エクスポートデータのリストアール
vm rename
VM 名の変更
vm delete
VM の削除

手動での VM ビルド(自動化を避ける場合)

以下の手順で個別に処理を行うことができます。

  1. 空のバインディング作成

    vphone-cli vm new myphone
    
  2. IPSW ダウンロードとマージ

    vphone-cli fw prepare myphone --iphone-version 26.1
    # より新しい iOS のソースを指定したい場合:
    # vphone-cli fw prepare myphone --iphone-source <path> --cloudos-source <path>
    
  3. ブートチェーンパッチ適用

    vphone-cli fw patch myphone --variant jb
    
  4. DFU リストアールと起動

    vphone-cli vm launch myphone --dfu &          # バックグラウンド実行
    vphone-cli restore myphone --get-shsh         # SHSH トークン取得 (オプション)
    vphone-cli restore myphone                    # 正式なリストアール
    
  5. CFW インストール

    vphone-cli cfw install myphone --variant jb
    

    注意: このコマンドはホストマウントを使用するため、パスワード入力が必要です。

  6. 初回ブート

    vphone-cli vm launch myphone
    

5. ファームウェアバリエーション (
--variant
)

セキュリティバイパスの度合いを制御するための 5 つのパターンがあります。

バリエーションブートチェーンパッチ数CFW フェーズ数特徴・用途
less42パッチ未適用。iOS のセキュリティ緩和維持。
regular4210AMFI/SSV/Img4/TXM のバイパス実施。標準的運用向け。
dev5312TXM エントライティメント追加、デバッグ機能付与。
jb11314フル Jailbreak 対応。初回ブート時に Sileo, TrollStore が自動インストール
exp14118JB の超集合+VM 検出回避パッチ(研究用)。

詳細な比較は

research/0_binary_patch_comparison.md
を参照してください。


6. アクセス方法 (接続)

VM 起動後に以下のいずれかで接続できます。

  • SSH (Jailbreak モード):
    ssh -p 22222 mobile@<vm-ip>
    # パスワード: alpine
    
  • SSH (Regular/Dev モード):
    ssh -p 22222 root@<vm-ip>
    
  • VNC:
    vnc://<vm-ip>:5901
    

7. ファイル構成とパス管理

vphone-cli
が生成するデータは、デフォルトでは
~/.vphone/
に格納されます。 このディレクトリ外に保存することで、署名されたバインディングの可搬性を保ちます。

デフォルトパス構造

パス内容
~/.vphone/
ユーザーデータルート (
$VPHONE_ROOT
で上書き可能)
~/.vphone/VMs/
VM バインディング(ライブラリとして機能)
~/.vphone/ipsws/
ダウンロードされた IPSW ファイルキャッシュ
~/.vphone/tools/
fw prepare
で取得した APFS seal-volume アーティファクト
~/.vphone/debs/
CFW 導入時に置かれる
.deb
パッケージ (Sileo, apt など)
~/.vphone/venv/
Python 仮想環境 (
$VPHONE_VENV_DIR
で上書き可能)

優先順位(オーバーライド順)

  1. アイテム固有の上書き設定 (例:
    $VPHONE_LIBRARY_ROOT
    ) — 最優先
  2. $VPHONE_ROOT
  3. ~/.vphone
    — デフォルト

8. よくあるトラブルシューティング (FAQ)

  • zsh: killed ./vphone-cli
    エラー

    • AMFI やデバッグ制限が回避されていない可能性があります。
    • 対処法:SIP/AMFI 緩和設定(
      amfi_get_out_of_my_way=1
      または
      amfidont
      )を再確認してください。
  • 特定のハードウェアで起動しない

    • ネステッド仮想化(VM within VM)に対応していない可能性があります。
    • macOS 15+ のホスト環境を使用しているか確認してください。
  • 「ホームボタンを押して続行」でフリーズ

    • VNC 経由で接続し、マウスの**右クリック(2 フィンガータップ)**でホームボタンの押下をシミュレーションしてください。
  • システムアプリのインストール失敗

    • iOS セットアップ時の地域設定で「日本」や「EU」を選択すると追加規制チェックが発生します。
    • **「米国」**などの他国を選択して回避してください。
  • 起動時

    EXC_GUARD / GUARD_TYPE_MACH_PORT
    エラー

    • vphone-cli fw patch <name> --variant <v> --force-exc-guard
      で再パッチを適用し、リストアールを行ってください。(iOS 18 ベースでは必須)
  • .ipa/.tipa
    のインストール

    • 起動中の VM ウィンドウ内のメニューから直接インストーターを使用するか、ドラッグ&ドロップ、またはファイルピッカー経由で導入してください。
  • ldid-procursus
    によるメモリ無限増加・停止

    • ldid-procursus
      2.1.5-procursus7 のバグです。0 長所のエントリーメントを持つ Apple システムバイナリを処理する際、ゼロガードがないため発生します。
    • 対処法:ソースから再ビルドして最新バージョンを使用してください(上記のインストールコマンド参照)。

9. オートメーション (vphone-mcp)

vphone-cli
<bundle>/vphone.sock
というホストコントロールソケットを提供し、以下の機能をプログラム制御・テストに利用できます。

  • スクリーンショット取得
  • タッチ/スワイプ操作
  • ハードウェアキー操作
  • クリップボード管理
  • AI 駆動のエンドツーエンドテスト(Inline スクリーンショット返却)

詳細は

vphone-mcp
を参照してください。


10. 謝辞

本プロジェクトおよび関連ドキュメントは以下を参考に作成されました。

同じ日のほかのニュース

一覧に戻る →

2026/08/30 4:33

騰訊發布並開源騰訊Hy4預覽版

## Japanese Translation: 以下の改良版は、完全性を保ちながら読みやすさを維持するため、不足していた技術仕様と性能指標を組み込んでいます。 ## 改善された要約 Tencent は次世代の 770B パラメータを持つ大規模言語モデル(アクティブパラメータ:49B)「Hy4 preview」をローンチしました。このモデルは高生産性タスクに特化して最適化されており、1M トークンを超える広大なコンテキストウィンドウを備えています。Hy4 はシリーズ初となる自主的なトレーニングおよび推論システムの最適化を実現し、オペレーターフュージョンによりエンドツーエンドのスループットを 31.8% 向上させました。内部での盲目評価において、203 のエンジニアリングタスクにわたる 163 名の専門家によって行われ、GLM-5.3(2.92)および Kimi K3(2.94)に対してそれぞれ 2.99/4.00 と高いスコアを記録し、主要競合他社を上回りました。 ソフトウェアエンジニアリング、ゲーム、金融、科学の分野で Tencent の専門家によって共同作成された高品質なデータを用いてトレーニングされた Hy4 は、長文脈開発、単一のプロンプトからのゲームプロトタイピング、分子動力学や物理学などの科学研究分野において明確な優位性を発揮します。現在、Hy4 は Tencent Cloud TokenHub および OpenRouter を介して世界中で利用可能であり、競合的 API 料率(入力トークンあたり 83.4 米セント)で提供されています。同モデルは WorkBuddy および CodeBuddy の Tencent プラットフォーム上で 2 週間無料利用が可能ですが、前世代の Hy3 は引き続き 9 月 30 日までの間アクセス可能です。

2026/08/24 14:09

Tether:Linux での iMessage や SMS の利用

## Japanese Translation: テザー(Tether)は、iPhone とペアリングされた際の macOS の「Continuity」機能——iMessage、SMS、コンタクト同期、通知、ファイル共有、クリップボード同期、ワンタイムパスワード(OTP)の自動入力——を Linux へ統合し、KDE Connect など既存ソリューションが補えていないギャップを埋めています。セキュリティは当初から最優先事項であり、iOS と Linux の通信には mTLS 暗号化を採用し、定期的に Opus および Fable のセキュリティスキャンを実施することで実現しました。他のメールクライアントへの広範なサポートはまだ利用できません。開発者はバックエンド開発を優先し、拡張子の移植には集中しないためです。OTP の自動入力は、Zen Browser(Firefox)と Betterbird(Thunderbird)向けのブラウザおよびメール拡張機能を通じて行われ、メールからコードを拡張機能へ送ってログインフォームの自動埋め込みを実現します。 直接の iMessage/SMS アクセスのための Bluetooth 統合は、GPL ベースのプロジェクト(例:ancs4linux や BlueFerry)とのライセンス衝突を避けるために、独自のカスタム C++「クリーンルーム」手法を用いて実装されています。テザーは引き続き MIT ライセンスを採用しています。現在の Linux ベースのデーモンは、Tailscale などの earlier プロキシ方式と比べてより優れた直接的な接続体験を提供しており、ユーザーからは不快であると評価されていました。iOS アプリが先に登場し、当初は基本的なクリップボード同期のみを処理し、その後に広範な Continuity スタックが構築されました。 ファイル共有およびプッシュ通知は直ちに利用可能ですが、ハードウェア制約や Bluetooth 切断の問題など、将来のアップデートにおける課題依然存在しています。特に Bluetooth の実装は 2026 年においてもエッジケースが多いため困難です。本プロジェクトは金銭的利益よりも真なる価値と満足感を提供することを目指しており、シームレスなクロスプラットフォーム接続を求める技術愛好家にとってユニークなツールとなっています。バグレポート、機能要望、翻訳、ドキュメントなどの貢献をコミュニティから歓迎します。

2026/08/30 3:22

vLLM 0.28.0

## Japanese Translation: このリリースは、主要なアーキテクチャ変更と拡張ハードウェアサポートにより AI 推論を加速することに焦点を当てた決定的なアップグレードです。主なパフォーマンス向上としては、ファインズドカーネルによって大きなモデル(特に MegaMoE)で最大 1.5〜3 倍の高速化、推論の最適化(DFlash2/DSpark)、GPU ごとに約 17 GiB のメモリ節約を実現する共有エキスパートシャッディングなどがあります。この更新はハードウェア互換性を大幅に拡大し、NVIDIA アーキテクチャ(Blackwell SM90/B12X を含む、ネイティブな DSA/FlashInfer パスを備えたもの)および AMD ROCm プラットフォーム(gfx950/gfx120x)、MLA および FP8 推論向けの特定の最適化を可能にします。 機能面では、Weight Offloading、マルチレイヤー MTP KV キャッシュ、アテンション不要なモデルサポートといった機能を備えた Model Runner V2 が導入されました。また、バッチトークン上限値を 16384 に倍増させたり、Mamba モデルにデフォルトでプレフィックスキャッシュを有効化したりするなどの推論デフォルトも標準化されています。エコシステムの主要な更新としては、PyTorch 2.12 と Transformers 5.15.0 への移行が必須となり、ディスクオフローディングをサポートする階層型 KV キャッシュシステムが追加されました。さらに、gRPC を通じたネイティブ Rust フロントエンドサポートが追加され、Muse Glimmer、Ling 3.0 Flash、Qwen3.8 など多数の新しいモデルへの対応も開始(AMD 向け)。組織は、これらの高度な機能を利用するために、非推奨化された関数や特定の依存関係に関する破壊的な変更に対応する必要があります。