MACOS的Apple Wi-Fi密碼共享協議的黑客實現。
這裡可以在Python中提供僅限Linux的實現。
該項目包含實驗軟件,是開放無線鏈接項目反向工程工作的結果。該代碼僅提供紀錄片和教育目的。它未經測試和不完整。該項目與Apple Inc.隸屬或認可。
安裝libsodium
,例如,通過Homebrew:
brew install libsodium
我們同時提供授予者和請求者的角色。您可以使用Xcode應用程序或make
項目。
運行目標PWS-Grantor
以啟動密碼共享設備客戶端,該密碼將掃描廣告並連接到第一個匹配的廣告並開始共享。另外,通過make
構建時:
build/DerivedData/Build/Products/Debug/PWS-Grantor < ssid > < psk >
由於安全性和MACOS的藍牙限制,請求者角色需要特殊的設置。
步驟1:我們需要禁用AMFI安全功能,以訪問此處所述的用戶Apple ID證書。在恢復模式(⌘+R)中重新啟動並運行:
csrutil disable
nvram boot-args= " amfi_get_out_of_my_way=0x1 "
步驟2:由於我們無法使用CoreBluetooth
設置BLE廣告的製造商數據,因此我們在python-gatt-relay
中提供了Gatt Relay服務器。在外部Linux機器上設置繼電器,例如Raspberry pi 4。有關詳細信息,請參見隨附的README
。
步驟3:最後,運行PWS-Requestor
目標,從另一個設備詢問密碼。另外,通過make
構建時:
build/DerivedData/Build/Products/Debug/PWS-Requestor < appleID > < gattServerAddress >