懶惰之最|GitHub 實測

舊控制程式沒有定時?用 REA 找到介面,再替它補上功能

2026-10-19|專案:morluto/rea|Markdown 版

重點摘要

  • REA MCP 分析自製範例,找到 remote.send 與 remote:send,一組呼叫成功靜態配對。
  • 新增定時模組共有 30 組原訊號、15 項定時測試、5 項替身整合驗證,50/50 通過。
  • 一小時案例使用虛擬時鐘,另有30毫秒真實計時驗證;沒有測試紅外線或實體冷氣。
  • 現有 ARM 環境無法執行官方 x64 Wakaru 引擎,程式碼還原未成功。
  • 結論: REA 介面分析能協助定位擴充接點;本次證據僅涵蓋自製軟體範例。
  • 適合: 已有合法樣本、想理解介面後擴充功能的人
  • 不適合: 期待沒有協定與硬體就能自動控制所有家電的人
實測項目 結果
原訊號 30/30
定時功能 15/15
原通道替身整合 5/5
實體設備 未測
付費API費用 US$0

睡前想讓冷氣一小時後關機,遙控器偏偏不見了。這時真正想解決的是「能不能把原本的控制方式弄懂,換成自己需要的操作」,而不是多看一張程式功能表。REA 的定位正是提供 AI 逆向分析工具,讓它從應用程式、原生執行檔或執行行為中找證據,再協助開發。官方也以「理解別人的功能,再為自己的專案做一版」說明用途:REA 官方專案。

這次沒有實體冷氣與紅外線發射器,所以不會把軟體測試當成冷氣控制成功。我們使用自製、可公開的 Electron 結構範例:原介面只有開與關,新增目標是一小時後自動關機。示範訊號是自訂的四位元組格式,不是任何廠牌的冷氣協定。

測試設備:Mac mini M4 Pro(12 核、64GB)。受測 REA 6.7.0,AI 使用既有 Codex 訂閱,配音使用免費 Edge;本次付費 API 費用為零。

先找功能接在哪裡

這次確實啟動 REA 的 MCP 服務,完成初始化與工具呼叫,而非只讀 README。它找出 remote 的 send 介面,以及 remote:send 控制通道,靜態分析中有一組成功配對的呼叫。這讓新增功能有明確的接點:到期時呼叫既有的關機介面,不另造一條無法驗證的路。

npm install --global [email protected]
rea --mcp
# MCP 工具 analyze_javascript_application 的必要參數是 input_path
rea analyze-javascript-application /tmp/owned-remote --json > analysis.json

REA 找出控制介面與通道

第一次 MCP 呼叫把參數寫成 path,工具明確拒絕,尚未分析。核對實際 schema,改用 input_path 後成功;兩份收據都保留,沒有把錯誤結果當成功。

再補功能,不能只把分析表重唸一次

Codex 根據介面新增定時模組:設定到期時間、取消、重新設定,以及檢查不合法的時間與溫度。測試另外載入原本的主程序與 preload 程式,以 Electron 替身串起原控制通道,核對定時到期確實經由原處理器回傳關機訊號。沒有啟動完整 Electron 視窗,因此視窗操作不在這次驗收範圍。

node /tmp/verify-feature.js
驗證項目 結果
原訊號:開/關乘 16–30 度 30 組通過
定時、取消、重設、輸入與真實短計時 15 項通過
原介面、IPC、回傳訊號等替身整合 5 項通過
合計 50/50,零失敗

定時到期與驗證結果

一小時案例使用虛擬時鐘快轉,不能說真的等過一小時;另有 30 毫秒到期、等待 90 毫秒核對的真實計時案例。關機輸出 a5001abf 只對應自製範例,不能直接拿去控制家電。

讓它成功的做法,以及實際限制

先用自己持有的程式或允許分析的資料,請 REA 找到控制入口與參數,再讓 AI 寫最小功能,最後同時驗證新增行為與原介面。拿到分析關係圖只是第一步;靜態配對本身不證明實際執行,還得補測。若目標是手機遙控冷氣,另外需要實際紅外線協定、發射硬體,以及設備回應驗證。

我們也嘗試程式碼還原:依官方文件下載 Wakaru 1.14.0,其 SHA-256 與文件相符,但官方引擎要求 Linux x64,現有環境是 ARM,執行時缺少 x64 動態載入器,REA 回報能力不可用。這項未成功,沒有修改正式環境來硬繞。安裝 REA 不表示所有分析後端已齊備。

適合已有程式或設備研究材料、想查清楚功能接點再自行擴充的人。若期待沒有樣本、沒有協定或硬體,就一句話自動控制所有家電,這次證據無法支持。REA 的價值在於把「不知道從哪改」往前推進到「有介面與證據可動手」,成功與否仍由實測決定。

專案:morluto/rea,MIT 授權。Wakaru:pionxzh/wakaru,Apache-2.0。

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測