Implementasi Hacky dari protokol berbagi kata sandi Wi-Fi Apple untuk macOS.
Implementasi khusus Linux di Python tersedia di sini.
Proyek ini berisi perangkat lunak eksperimental dan merupakan hasil dari upaya rekayasa terbalik oleh Proyek Tautan Nirkabel Terbuka. Kode ini hanya melayani tujuan dokumenter dan pendidikan. Itu tidak teruji dan tidak lengkap . Proyek ini tidak berafiliasi dengan atau didukung oleh Apple Inc.
Instal libsodium
, misalnya, melalui homebrew:
brew install libsodium
Kami memberikan peran pemberi dan pemohon. Anda dapat menggunakan aplikasi Xcode atau make
untuk membangun proyek.
Jalankan target PWS-Grantor
untuk memulai kata sandi berbagi yang memberi klien perangkat, yang akan memindai iklan dan terhubung ke yang cocok pertama dan mulai berbagi. Atau, saat dibangun melalui make
:
build/DerivedData/Build/Products/Debug/PWS-Grantor < ssid > < psk >
Peran pemohon memerlukan pengaturan khusus karena keamanan dan pembatasan Bluetooth macOS.
Langkah 1: Kita perlu menonaktifkan fitur keamanan AMFI untuk mengakses sertifikat ID Apple pengguna seperti yang dijelaskan di sini. Reboot dalam mode pemulihan (⌘+r) dan jalankan:
csrutil disable
nvram boot-args= " amfi_get_out_of_my_way=0x1 "
Langkah 2: Karena kami tidak dapat mengatur data produsen iklan BLE dengan CoreBluetooth
, kami menyediakan server relay GATT di python-gatt-relay
. Siapkan relai pada mesin Linux eksternal, misalnya, raspberry pi 4. Lihat README
yang disertakan untuk detailnya.
Langkah 3: Akhirnya, jalankan target PWS-Requestor
untuk meminta kata sandi dari perangkat lain. Atau, saat dibangun melalui make
:
build/DerivedData/Build/Products/Debug/PWS-Requestor < appleID > < gattServerAddress >