Day 287 · 2026-10-13
用 AI 逆向家電的 App
最近看到 @jinglian 介紹很紅的開源工具 REA(Reverse Engineer Anything),他把重點放在一個我原本沒想到的用法:看懂冷氣、熱水器、燈這類家電跟 App 之間傳來傳去的訊息,也就是通訊協定。
他引用的例子是 @icanberk。他逆向了家裡的冷氣,寫了一個 Mac 狀態列的小 App,不用每次都找遙控器;接著用 Codex 加 Lens Studio,花不到 15 分鐘移植到 Snap 的 AR 眼鏡 Specs 上,看一眼冷氣就能控制。
影片來源:@icanberk(Ilter Canberk)在 X 上的 demo,https://x.com/icanberk/status/2109122304429236559
這很像我之前分享過的 hack 讀卡機案例:請 Claude Code 讓 Mac 上原本不支援的讀卡機能用。但這位老兄絕對是更上一層樓,看到他的示範影片,我整個想法大爆發。
繞過難用的廠商 App、自己寫家電的控制程式,以前得懂逆向工程才做得到。現在前面那幾步有工具幫你處理好,剩下的交給 Claude Code 或 Codex。同一套方法,別人也用得到。
這篇分享:REA 是什麼、它怎麼幫你看懂家電 App 在傳什麼,以及為什麼我覺得這是未來,也是資安上要小心的地方。
每個難用的 App 背後,都是一套通訊協定
REA 是 MIT 授權的開源工具,在 GitHub 上爆紅,我 10/13 去看是 16.9 萬顆星。它讓 Claude Code、Codex 這類 AI 寫程式工具,去分析一個沒有原始碼的 App:它怎麼運作、背後傳了什麼,並且把每個結論的證據列出來。
家電也是一樣的道理。家裡的冷氣、熱水器、燈,幾乎都配了一個廠商 App,而且通常不太好用。但 App 本身只是一支遙控器,真正在做事的是它跟設備之間傳來傳去的訊息,也就是通訊協定。看懂這套協定,就能不靠官方 App,自己寫一個控制程式。
REA 包辦的那幾步
用白話講,流程大概是這樣:
- 抓到官方 App:把 Android 手機或模擬器接上電腦,取出家電的 App(adb,Android 的除錯連線工具)
- 看 App 跟設備之間傳了什麼:把 App 發出去的每個請求錄下來,再對照是 App 裡哪段程式碼送出去的(HAR 或 mitmproxy 錄下的網路流量)
- 必要時分析韌體,也就是設備裡面跑的那套程式:先解開,再交給分析工具看(Binwalk / Unblob 解開韌體,Ghidra 反組譯)
- 把前面收集到的證據交給 Claude Code 或 Codex,還原協定,自己寫控制程式
前三步以前各自是一門專業,REA 把它們做成 AI 可以直接呼叫的工具;第四步寫程式,本來就是 AI 現在最擅長的事。@icanberk 沒說他用的是哪套工具,但走的就是這條路:冷氣先變成 Mac 上的一個按鈕,再變成眼鏡裡的一個畫面。
以後自己寫,別人也能寫
@icanberk 說,以後看著任何一台家電就能控制,不用在幾十個 App 之間切來切去。
我一直覺得,手機不會是人類最終的行動裝置。用手機開冷氣,要從口袋掏出來 → 解鎖 → 找到對應的 App → 找到那顆按鈕。戴著眼鏡看一眼就能操作,所見即所得,兩種體驗完全不在同一個層次。這才是 IoT 應該有的樣子,而不是把家電都連上網,然後不知道能幹嘛。
@jinglian 貼文最後那句我很認同:以前是廠商 App 決定你能怎麼用自己的設備,以後你可以自己寫。我覺得這就是未來。
另一面也要講清楚:你做得到的事,別人也做得到。家電的通訊協定一旦被還原,想控制它的就不只是你,家電可能因此更容易被入侵,資安上要更小心。
廠商 App 不再是唯一的遙控器,這對你是好事,對想闖進你家的人也是。
REA:https://github.com/morluto/rea
@jinglian 的介紹:https://x.com/jinglian/status/2109567957890429431
@icanberk 逆向冷氣做成 Mac 狀態列 App:https://x.com/icanberk/status/2109031477484937571
@icanberk 移植到 Specs 眼鏡:https://x.com/icanberk/status/2109122304429236559
之前分享的讀卡機案例(Day 183):https://www.dawsonwang.com/day/183



