การใช้งาน Hacky ของโปรโตคอลการแชร์รหัสผ่าน Wi-Fi ของ Apple สำหรับ MacOS
การใช้งาน Linux เพียงอย่างเดียวใน Python มีให้ที่นี่
โครงการนี้มีซอฟต์แวร์ทดลองและเป็นผลมาจากความพยายามด้านวิศวกรรมย้อนกลับโดยโครงการ Open Wireless Link รหัสมีวัตถุประสงค์ด้านสารคดีและการศึกษาเพียงอย่างเดียว มัน ยังไม่ผ่านการทดสอบ และ ไม่สมบูรณ์ โครงการนี้ไม่ได้เป็นพันธมิตรหรือรับรองโดย 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: เนื่องจากเราไม่สามารถตั้งค่าข้อมูลผู้ผลิตของโฆษณา BLE ด้วย CoreBluetooth
เราจึงให้บริการเซิร์ฟเวอร์รีเลย์ GATT ใน python-gatt-relay
การตั้งค่ารีเลย์บนเครื่อง Linux ภายนอกเช่น Raspberry Pi 4 ดูรายละเอียด README
ที่ให้มา
ขั้นตอนที่ 3: สุดท้ายให้เรียกใช้เป้าหมาย PWS-Requestor
เพื่อขอรหัสผ่านจากอุปกรณ์อื่น อีกทางเลือกหนึ่งเมื่อสร้างผ่าน make
:
build/DerivedData/Build/Products/Debug/PWS-Requestor < appleID > < gattServerAddress >