Eine hackige Implementierung von Apples Wi-Fi-Passwort-Sharing-Protokoll für macOS.
Eine Nur-Linux-Implementierung in Python ist hier verfügbar.
Dieses Projekt enthält experimentelle Software und ist das Ergebnis von Reverse Engineering -Bemühungen durch das Open Wireless Link Project. Der Code dient ausschließlich Dokumentarfilm- und Bildungszwecken. Es ist ungetestet und unvollständig . Dieses Projekt ist nicht mit Apple Inc. angeschlossen oder von Apple Inc. unterstützt.
Installieren Sie libsodium
, z. B. über Homebrew:
brew install libsodium
Wir bieten sowohl die Rollen des Grantors als auch für Anfragen. Sie können die Xcode -Anwendung verwenden oder das Projekt make
.
Führen Sie das Ziel PWS-Grantor
aus, um einen Kennwortfreigabe-Spenden-Geräte-Client zu starten, der Werbung scannt und eine Verbindung zum ersten übereinstimmenden und mit dem Teilen herstellt. Alternativ, wenn er über make
gebaut wurde:
build/DerivedData/Build/Products/Debug/PWS-Grantor < ssid > < psk >
Die Anforderungsrolle erfordert eine spezielle Einrichtung aufgrund von Sicherheits- und Bluetooth -Beschränkungen von macOS.
Schritt 1: Wir müssen die AMFI -Sicherheitsfunktion deaktivieren, um auf das hier beschriebene Apple -ID -Zertifikat des Benutzers zuzugreifen. Starten Sie im Wiederherstellungsmodus (⌘+r) neu und führen Sie aus:
csrutil disable
nvram boot-args= " amfi_get_out_of_my_way=0x1 "
Schritt 2: Da wir die Herstellerdaten einer BLE-Anzeige nicht mit CoreBluetooth
festlegen können, stellen wir einen Gatt-Relay-Server in python-gatt-relay
zur Verfügung. Richten Sie das Relais auf einer externen Linux -Maschine ein, z. B. ein Raspberry Pi 4.. Weitere Informationen finden Sie in den mitgelieferten README
.
Schritt 3: Führen Sie schließlich das PWS-Requestor
-Ziel aus, um ein Passwort von einem anderen Gerät zu fragen. Alternativ, wenn er über make
gebaut wurde:
build/DerivedData/Build/Products/Debug/PWS-Requestor < appleID > < gattServerAddress >