Jump to...
redirecting...

Log for Ubuntu 台灣社群

本想監視我家狗狗,卻意外監視到 TP-Link (★ 198 分)

我最近買了一台 TP-Link Tapo 室內攝影機,想看看狗狗在家時都在做什麼,卻發現官方 App 的設定流程痛苦又難以整合到像 Frigate 這類系統中。網路上鮮少詳盡教學,官方還強制推銷「Tapo Care」訂閱,讓人頗感困擾,於是我決定自己逆向工程並設計一套不依賴雲端的離線設定方案。

首先,我利用中間人攻擊(MITM (中間人攻擊))攔截手機 App 與攝影機之間的 TLS 通訊,搭配 frida (動態攔截工具) 強制 App 使用自簽憑證與代理伺服器,再藉由 mitmproxy 記錄初始登入流程,發現設備在雲端密碼同步前就能以預設帳號 `admin` 登入,代表一定存在內建的預設密碼。

接著我用 JADX (反編譯工具) 反編譯官方 APK,搜尋 `"admin"` 找到 `CameraOnboardingViewModel` 類別中的加密函式,並確認加密類型 `encrypt_type: 3` 後,揭露出預設密碼 `TPL075526460603`。利用 PyTapo (與 Tapo 攝影機通訊的 Python 程式庫) 作為參考,我撰寫 mitmproxy 的 Python 腳本 `tapo_decrypt_pretty.py`,破解 `securePassthrough` 通道的加密,並解密、格式化顯示後續所有 API 呼叫,重點流程僅包含:掃描 Wi-Fi 熱點、啟用 RTSP (即時串流協定)/ONVIF (網路影音介面論壇協定) 帳號、修改 admin 密碼,以及連線至指定 AP。

最後整理出一支 Bash 腳本 `tapo_onboard.sh`:以預設密碼登入、掃描並選取 Wi-Fi、關閉畫面浮水印、開啟 RTSP/ONVIF 功能、修改密碼,然後完成網路連線。此過程展現 Tapo 韌體設計的瑕疵,例如部分端點依然使用 MD5 雜湊、二組不一致的 RSA 公鑰,以及雲端密碼不同步等。整個逆向歷程最後換來的,是一段關於愛犬睡覺行為的結論:牠大部分時間都在沙發上或牠的狗床上睡覺。

在 Hacker News 的討論中,不少網友分享了相關專案,如 Tapo C200 的研究報告、PyTapo 程式庫以及其他 TP-Link 韌體解密教學;有人指出這支預設密碼已被 CVE-2022-37255 揭露;對於「硬編碼預設密碼」的安全性,意見分歧,有人認為只要用戶在設定流程中修改即可,不算嚴重漏洞;也有人建議採用設備序號或 QR Code 作為在場證明 (proof-of-presence) 以增強離線驗證;另有不少討論提到 Home Assistant 等在地化智慧家庭方案,以擺脫過度依賴雲端的碎片化生態。

👥 58 則討論、評論 💬
https://news.ycombinator.com/item?id=45251690
Linux 手機現在的重要性比以往任何時候都更高 (★ 111 分)

文章作者指出,隨著 Android 生態系統快速惡化,Linux 手機的重要性比以往任何時候都來得更高。Android 雖然過去相對開放,但近期出現明顯倒退:Google 將 Android 開源專案 (AOSP) 的許多組件私有化,三星、小米、OnePlus 等廠商陸續取消手機解鎖 bootloader 的功能;Google 推出 Play Integrity API 並強迫開發者採用,甚至連歐盟自己的數位身分驗證錢包也要求使用;同時 Android 廠商也推行強制的開發者驗證制度。這些措施讓獨立開發者愈來愈難以維護第三方應用程式,像 SyncThing 已經宣布停止 Android 版本的開發,而 NextCloud 更新也曾經遭 Google 無故拒絕。作者認為,Android 正逐步被鎖死,Google 參照蘋果的模式透過合規邊界擴張控制,開放替代方案已迫在眉睫。

在 Hacker News 討論中,許多人認為 Linux 手機若要成功,必須先處理最基本的功能,包括可靠的通話、簡訊、相機與續航力。雖然 Linux 在一般電腦和伺服器領域表現優異,但在手機領域仍面臨大量挑戰,包含缺乏即時通訊通知、應用程式沙箱化與細緻的權限管理機制等。有些人提到像 PostmarketOS、Ubuntu Touch、SailfishOS 等專案已經投入多年發展,但距離可與 iOS、Android 競爭的「日常使用等級」仍有不少差距。

另一個焦點在於「是否該從 Android 分支 (例如 LineageOS) 持續開發,還是從頭打造 Linux 手機」。支持者強調 Android 分支依舊基於 Google 的 AOSP,無法真正擺脫 Google 掌控;相反地,Linux 手機雖然起步困難,但能徹底免除封閉 API 與強制驗證的限制。不過,也有人認為對一般使用者而言「應用程式」才是重點,大部分人需要的政府服務或銀行驗證應用程式仍然僅支援 Android 與 iOS,沒有這些 App,Linux 手機再自由也難以普及。

社群也提出不少構想,有人期待類似 Steam Deck 的 Linux 手機,結合高階硬體與桌機級體驗;也有人認為可以透過瀏覽器或 WebApp 取代部分政服/銀行應用,減少對 Google 與 Apple 生態的依賴。然而,對許多人來說,現實問題仍存在:各國銀行要求透過行動 App 驗證、部分政府系統甚至強制公民使用 Play 商店才能存取服務。這些障礙使得 Linux 手機短期內難以成為大眾選擇,但同時也成為更多人支持開放替代方案的理由,因為若再不推動,未來選擇將更受限。

總體而言,討論呈現出強烈的兩難:Linux 手機代表了一條擺脫巨頭壟斷、更尊重隱私的道路,但要達到實用化需要龐大投入與協作。隨著 Google 日益加強控制,越來越多開發者與使用者開始認真看待這條替代路徑。雖然短期內 Linux 手機仍難成為主流,但社群共識是必須從現在開始加速投入,否則未來行動運算領域將徹底被封閉環境主導。

👥 49 則討論、評論 💬
https://news.ycombinator.com/item?id=45256651
只看標題有點覺得這是不是平行時空的文章
光是驅動就是一大問題
沒應用程式
驅動量夠大 OEM就會生給你
已經成功安裝了,謝謝各位
[photo](media:AgACAgUAAx0CPRn5XQABAixsaMlBEmygp3IXgqxP-v_dUM2-AQ0AAvLGMRuBM0hWPqi-gMngPbkBAAMCAANzAAM2BA@telegram)
[sticker](media:AAMCBQADHQI9GfldAAECLG5oyUZosum5hVyhtzxro-3WJbvviAACqh0AAn9PIFYUrIZATGcoOgEAB20AAzYE@telegram)
[photo](media:AgACAgUAAx0CPRn5XQABAixwaMlmZEqOdB5ho-zTsdvrj6oleS0AAkrHMRuBM0hWpcxMO2e9NXUBAAMCAANzAAM2BA@telegram)