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 >