deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Açık kaynak iPhone uygulaması Malibu, Snapchat Spectacles 2 ile eşleşiyor ve videoları yerel olarak içe aktarıyor

Bir geliştirici, Snapchat Spectacles 2'nin背后的 Bluetooth ve Wi-Fi protokolünü tersine mühendislikle çözdü ve gözlüğün videolarını Snapchat hesabı veya bulut servisi olmadan içe aktaran açık kaynak iOS uygulaması Malibu'yu yayınladı.

Açık kaynak iPhone uygulaması Malibu, Snapchat Spectacles 2 ile eşleşiyor ve videoları yerel olarak içe aktarıyor

Bir geliştirici, Snapchat Spectacles 2 ile doğrudan eşleşen ve videolarını Snapchat hesabı ya da herhangi bir bulut servisi olmadan içe aktaran açık kaynak iPhone uygulaması Malibu'yu yayınladı. Proje, dev.to üzerinde Cynostial tarafından kaleme alınan bir yazıda belgelenmiş; geliştirici, donanımın hâlâ çalıştığını ancak orijinal yazılımın cihazı kullanımı zor hale getirdiğini fark ettikten sonra gözlüğün kablosuz protokolünü tersine mühendislikle çözmüş.

Gözlüğü incelemek

Yazıya göre bu çaba bir uygulama projesi değil, paket inceleme çalışması olarak başlamış. Gözlüğün Bluetooth duyuruları bir eşleşme işaretçisi açığa çıkarıyor ve GATT servislerinin incelenmesi, UART benzeri karakteristiklere sahip bir BLE servisi ortaya koymuş. Buradan yola çıkarak paket kayıtları komut çerçevelemesini — ve protokolün basit bir Bluetooth komutları dizisinden fazlası olduğunu — ortaya çıkardı. Tam bir eşleşme ve kimlik doğrulama protokolü arka planda çalışıyor.

Eski istemciyi paket kayıtlarıyla karşılaştırarak geliştirici, Spectacles 2'nin komutlar ve medya metadata'sı için protobuf mesajları kullandığını belirledi. Eşleşme süreci bir X25519 anahtar değişimi, bir kanıt değişimi ve AES-GCM ile şifrelenmiş bir oturum içeriyor. Kriptografinin tanımlanması sorunun yalnızca bir parçasıydı: yazıda açıklandığı gibi, nonce sıralaması, mesaj düzeni, anahtar girdileri ve bayt sıralaması gözlüğün beklediği biçimle tam olarak eşleşmek zorundaydı. Protokol önce Python'da yeniden oluşturuldu; böylece bir iPhone uygulamasının içine yeniden yazılmadan önce bağımsız olarak test edilebildi.

İki radyo, iki görev

Spectacles 2 videoyu Bluetooth üzerinden göndermiyor. BLE; keşif, eşleşme, kimlik doğrulama, gözlüğü kontrol etme ve Wi-Fi ağını başlatma işleri için ayrılmış. Asıl aktarım için gözlük kendi özel Wi-Fi erişim noktasını oluşturuyor; iPhone bu ağa katılıyor ve gözlükte çalışan bir medya servisiyle iletişim kuruyor; Malibu da medya kataloğunu, küçük resimleri ve MP4 verisini bu servisten alıyor. Her şey yerel olarak gerçekleşiyor — arada bir sunucu yok ve hesap gereksinimi yok.

Yerli bir iOS uygulaması gibi inşa edildi

Protokolün çözülmesi kadar kullanımının da keyifli hale getirilmesi önemliydi. Kullanıcıları Ayarlar uygulamasına elle gitmeye zorlamak yerine Malibu, Spectacles'ı bir Bluetooth ve Wi-Fi aksesuarı olarak yetkilendirmek için modern iOS'ta Apple'ın AccessorySetupKit'ini kullanıyor. İlk eşleşmeden sonra uygulama gözlükle kimlik doğrulaması yapabiliyor, kayıtlı özel ağlarını başlatmalarını isteyebiliyor, bu ağa katılabiliyor ve video içe aktarmaya otomatik olarak başlayabiliyor.

Uygulama yarıda kalan aktarımları da yönetiyor: indirme sırasında bağlantı koparsa, yeni bir şifreli medya oturumu kuruyor ve videoyu baştan başlatmak yerine kısmi aktarıma devam ediyor. İçe aktarılan videolar Malibu içinde saklanabileceği gibi Dosyalar uygulamasından erişilebilir ya da Fotoğraflar'a kopyalanabilir.

Deneysel ve test eden arıyor

Proje hâlâ deneysel. Cynostial tek bir 2018 Spectacles 2 Sapphire ünitesiyle doğrulamış ve diğer Spectacles 2 modellerinin ya da donanım yazılımı sürümlerinin sahiplerini test etmeye davet ediyor. Depo, tersine mühendislikle çözülen protokolü belgeliyor — mesaj çerçeveleme, eşleşme akışı, kriptografik türetme, medya protokolü ve hâlâ net olmayan kısımlar — ve katkılar davet ediliyor.

Neden önemli

Spectacles 2, donanımın yazılımından daha uzun ömürlü olduğunun bir örneği: kamera, Bluetooth radyosu, Wi-Fi radyosu ve depolama hâlâ çalışıyor; ancak cihaz yalnızca biri onunla nasıl konuşulacağını haritaladığı için yeniden kullanılabilir hale geldi. Malibu, orijinal üreticinin ekosisteminin darboğaz olduğu durumlarda bile topluluk tersine mühendisliğinin terk edilmiş ürünlere işlev kazandırabileceğini gösteriyor.

Bu çalışma, benzer bir şey denemek isteyenler için pratik bir referans da sunuyor. Yazı; gerçekçi bir BLE artı Wi-Fi aksesuar mimarisini, bayt bayt uygulanması gereken zorlayıcı bir kripto el sıkışmasını ve AccessorySetupKit aracılığıyla modern bir iOS entegrasyonunu ele alıyor — bu üçlüyü karşılaştırılabilir ayrıntıda belgeleyen az sayıda kamuya açık örnek var. Malibu tek kişilik bir deney olarak mı kalır yoksa sürdürülen bir istemciye mi dönüşür bilinmez; yayımlanan protokol, eski donanımı çekmeceye gömmek istemeyen herkes için eşiği düşürüyor.

  • #open-source
  • #ios
  • #bluetooth
  • #reverse-engineering
  • #smart-glasses

İlgili yazılar