MACOSのAppleのWi-Fiパスワード共有プロトコルのハッキーな実装。
PythonでのLinuxのみの実装はこちらから入手できます。
このプロジェクトには実験ソフトウェアが含まれており、オープンワイヤレスリンクプロジェクトによるリバースエンジニアリングの取り組みの結果です。このコードは、ドキュメンタリーと教育のみを果たしています。それはテストされておらず、不完全です。このプロジェクトは、Apple Inc.と提携していない、または承認されていません。
例えば、homebrew経由でlibsodium
をインストールしてください:
brew install libsodium
補助者と要求者の両方の役割を提供します。 Xcodeアプリケーションを使用するか、プロジェクトを構築make
ことができます。
ターゲットPWS-Grantor
実行して、パスワード共有デバイスクライアントを提供するパスワード共有を開始します。これにより、広告をスキャンし、最初のマッチングの広告に接続して共有を開始します。あるいは、 make
経由で構築された場合:
build/DerivedData/Build/Products/Debug/PWS-Grantor < ssid > < psk >
リクエスターの役割には、MacOSのセキュリティとBluetoothの制限により、特別なセットアップが必要です。
ステップ1:ここで説明するように、ユーザーのApple ID証明書にアクセスするには、AMFIセキュリティ機能を無効にする必要があります。リカバリモード(⌘+r)で再起動して実行します。
csrutil disable
nvram boot-args= " amfi_get_out_of_my_way=0x1 "
ステップ2: CoreBluetooth
を使用してBLE広告のメーカーデータを設定できないため、 python-gatt-relay
でGatt Relay Serverを提供します。外部Linuxマシン、たとえばRaspberry Pi 4にリレーをセットアップします。詳細については、付属のREADME
参照してください。
ステップ3:最後に、 PWS-Requestor
ターゲットを実行して、別のデバイスからパスワードを要求します。あるいは、 make
経由で構築された場合:
build/DerivedData/Build/Products/Debug/PWS-Requestor < appleID > < gattServerAddress >