備忘録:iPhone/iPad 接続・復元機能を物理的に抹殺する

macOSシステムがiOSデバイスを認識する根本的な仕組みを無効化し、通常接続・リカバリーモードを問わず、デバイスとの通信を物理レベルで遮断する手法。


1. 通信プロセスの心臓部「usbmuxd」の無効化

macOSとiOSのUSB通信を仲介する usbmuxd プロセスを、バイナリレベルでロックする。

Bash

# バイナリの不変フラグを解除(SIP OFFが必要)
sudo chflags noschg /usr/libexec/usbmuxd

# 全ユーザーの実行・読み取り権限を剥奪
sudo chmod 000 /usr/libexec/usbmuxd

# 再度不変フラグを立て、システムによる自動修復を防止
sudo chflags schg /usr/libexec/usbmuxd

2. ペアリング鍵の保存先「lockdown」の要塞化

デバイスとの信頼関係(ペアリング)を保存するデータベースディレクトリを破壊し、アクセス不能にする。

Bash

# ディレクトリのロック解除
sudo chflags -R noschg /var/db/lockdown

# 既存のペアリング情報をすべて削除
sudo rm -rf /var/db/lockdown/*

# ディレクトリの全権限を剥奪
sudo chmod 000 /var/db/lockdown

# 不変フラグでディレクトリの状態を固定
sudo chflags schg /var/db/lockdown

3. 通信プロセスの完全停止

現在実行中の関連プロセスをすべて強制終了させ、設定を反映させる。

Bash

sudo killall -9 usbmuxd AMPDevicesAgent AMPDeviceDiscoveryAgent

4. 自動化スクリプト(.zshrc への実装)

ワンコマンドで「封印」と「解除」を切り替えるためのシェル関数。

Bash

# iOS通信抹殺モード
kill_ios_link() {
    # ロック解除と掃除
    sudo chflags -R noschg /var/db/lockdown /usr/libexec/usbmuxd 2>/dev/null
    sudo killall -9 usbmuxd AMPDevicesAgent AMPDeviceDiscoveryAgent 2>/dev/null
    sudo find /var/db/lockdown -mindepth 1 -delete 2>/dev/null
    
    # 権限剥奪と物理ロック
    sudo chmod 000 /var/db/lockdown /usr/libexec/usbmuxd
    sudo chflags schg /var/db/lockdown /usr/libexec/usbmuxd
    echo "iOS Blackout Mode: ON"
}

# iOS通信復旧モード
restore_ios_link() {
    # ロック解除
    sudo chflags -R noschg /var/db/lockdown /usr/libexec/usbmuxd 2>/dev/null
    
    # 標準権限の再割当て
    sudo chmod 700 /var/db/lockdown
    sudo chmod 755 /usr/libexec/usbmuxd
    sudo chown _usbmuxd:_usbmuxd /var/db/lockdown
    
    # 通信プロセスの再起動
    sudo /usr/libexec/usbmuxd &
    echo "iOS Blackout Mode: OFF"
}

5. 運用上の注意

  • SIP (System Integrity Protection): /usr/libexec 以下の変更を伴うため、本設定の適用・解除時はSIPを無効化しておく必要がある。
  • 効果: 本設定適用後は、Finder、iTunes、Apple Configurator、写真アプリ等、すべてのmacOSネイティブアプリにおいてiOSデバイスが完全に不可視となる。