Eleven 逆向工程工具是什麼?在 Mac 看程式行為,讓 AI 協助追查函式與修改
Eleven 逆向工程工具是 macOS 應用程式,讓 ACP 代理協助閱讀程式、追查參照與提出修改。整理檔案支援、人工核准、版本差異及雲端模型資料流向,瞭解適合的使用情境。
沒有原始碼的程式出了問題,開發者仍可能需要知道某個功能實際怎麼運作。
Eleven 逆向工程工具把程式分析與 AI 代理放在同一個視窗,讓人一邊看函式,一邊追問它的行為。
逆向工程是從已完成的程式或檔案,分析其結構與運作方式,常用於除錯、相容性研究與安全檢查。
這個開源專案在 X 展示的重點,是讓代理直接操作分析工具,留下可閱讀的註記與修改建議。
對需要檢查依賴套件或比較版本的人,這個方向能降低整理線索的負擔,但仍需要自己確認代理的解讀。
先看它如何把問題對準一個函式,才容易理解 AI 在這類工作裡能幫到哪一步。

Eleven 逆向工程工具,把 AI 放在什麼位置?
Eleven 讓代理讀取分析結果、跟隨參照、替函式命名與留下註記,人可以在同一個畫面看過程,開啟 Review 審查選項後核准修改。
函式是一段負責特定工作的小程式。已編譯程式裡的函式名稱可能不夠清楚,分析者需要根據呼叫關係與內容理解用途。
代理可以把初步判斷整理成名稱或筆記,讓後續閱讀較容易。這些內容仍是分析成果,不能因為名字變得清楚,就當成原作者提供的定義。
官方介紹也提供定位功能,使用者能搜尋函式、文字、書籤與註記,並把名稱和位置連同問題交給代理。
這個差異很實際。問「這個程式會不會連網」可能得到泛泛的回答,指定某個網路相關函式,才能讓分析圍繞可查證的內容。
代理與工具之間使用 ACP,也就是讓不同代理接入應用程式的通訊方式。官方列出多種代理,並讓使用者使用自己登入的服務方案。
應用程式另提供 MCP 工具。MCP 是讓 AI 呼叫外部工具的一種連線方式,這裡用來開函式、切換檢視、加註記或提出修改。
能接入多種代理,不代表每個模型會做出一樣的分析。使用者仍應按問題內容、資料限制與既有方案選擇模型服務。
有價值的協助通常是縮小搜尋範圍,找出值得繼續檢查的函式。關鍵結論仍需從程式內容、參照與實際行為互相核對。
若代理說一個函式負責加密,可以要求它指出運算與資料流向。能回到具體位置的解釋,才方便其他分析者接續工作。
支援多種檔案,為何目前仍是 Mac 工具?
Eleven 可以分析多種平台的程式檔案,但目前應用程式本身執行在 macOS,兩者要分開理解。
官方網站列出 Mac 與 iOS 程式、Linux 程式、Windows 執行檔、Android 應用程式,以及圖形處理與模型檔案。
支援 Windows 程式檔,意思是在 Eleven 裡閱讀這類檔案。它不表示已經提供可安裝在 Windows 上的 Eleven 版本。
網站目前提供 Apple Silicon Mac 下載。專案檔案列出 macOS 十四或更新版本,Linux 版本則仍屬規劃。
Android 分析使用 jadx,把相關程式內容轉成較容易閱讀的形式。這類轉譯能幫助理解行為,但不保證完整還原開發者原本的寫法。
對一般編譯程式,工具提供接近原始程式邏輯的偽程式碼,以及較低階的指令、控制流程圖與原始位元組。
偽程式碼是分析工具推導出的可讀表示,並非直接找回原始碼。若推導結果有歧義,仍需要對照低階指令與執行行為。
控制流程圖則呈現分支與跳轉,適合理解程式在不同條件下走哪條路。代理的解釋可以當成導讀,但圖上的實際路徑仍要核對。
模型檔案可以讀取,也不表示工具會替所有模型完成推論測試。官方介紹強調可在不執行模型的情況下閱讀相關內容。
選工具時,先確認自己手上的檔案種類與需要的工作。能看很多格式是方便的入口,分析品質則仍取決於引擎與具體案例。
函式、參照與版本差異,怎麼接成一條線索?
逆向分析通常需要從一個可辨識的行為往回追,找出哪些函式負責處理資料。
例如使用者在程式裡按下匯出,分析者想知道檔案寫到哪裡。可以從相關文字或檔案操作開始,跟隨呼叫關係縮小範圍。
這是工作方法示例,並非本文對特定應用程式的實測。不同程式的命名、保護與結構,會影響找到線索的難度。
Eleven 提供呼叫者、被呼叫函式與交叉參照。這些資訊有助於把單一函式放回整體流程,而不是只根據一小段內容下結論。
代理可以整理閱讀順序,指出哪些位置值得一起看。使用者再確認資料從哪裡進來、經過什麼轉換,最後寫到哪個地方。
當程式更新後,版本比較功能能按函式呈現新增、刪除與變更。這適合追查為什麼同一個功能在兩個版本間行為不同。
比較前應確認兩份檔案真的是對應版本。若混入不同平台或不同編譯設定,差異可能來自建置環境,未必是產品功能改動。
把檔案來源與版本資訊留在專案紀錄裡,能讓後續分析知道比較的是什麼。檔案雜湊也可以作為識別,避免相同檔名造成混淆。
雜湊是根據檔案內容計算的識別值,內容改變時通常也會改變。它可以確認分析物件,不能單獨證明檔案來源可信。
代理替差異加上說明後,應挑會影響判斷的幾處回到程式核對。如此才能區分功能真的改變,與分析工具把同一段內容顯示成不同樣子。
延伸閱讀:Claude Code advisor 教學:主模型遇到卡關時,如何請第二個模型檢查?
修改會碰到原檔嗎,人工核准有什麼作用?
官方說明,位元組修改寫到新的副本,原始檔案保持原狀。這讓分析與實際修改的結果可以分別儲存。
位元組是檔案內容的基本單位。修改已編譯程式的某些位元組,可能改變指令或資料,因此需要比一般文字註記更謹慎地檢查。
代理提出的修改可以等使用者接受或拒絕。核准時應知道它打算改哪個位置,以及預期改變哪項行為。
如果建議只說「修復問題」,卻沒有說明原因與範圍,還不足以作為接受依據。可以先要求代理列出相關函式與對應證據。
專案也記錄重新命名、註記、型別與修改的作者,並提供復原。這能追查哪個改動由人或代理提出,方便比較不同階段的分析。
復原功能處理的是工具中的改動歷程,使用者仍應儲存原始檔案。若另外把修改後副本交給其他流程,外部產生的效果需要另行管理。
工具可使用除錯器執行程式,觀察中斷點、呼叫堆疊與變數。這與只讀分析不同,應在適當的測試環境執行自己有權處理的檔案。
中斷點是讓程式在指定位置暫停,方便檢視當時狀態的設定。它可以補上靜態閱讀看不到的資訊,例如實際輸入與分支條件。
使用者不需要為了每個問題都執行檔案。先讀結構,再決定是否需要動態驗證,能減少不必要的操作與環境準備。
人工核准的價值,是讓修改必須回到具體目的。當這個目的無法說清楚時,應繼續分析,而不是把接受建議當成工作完成。
本機分析與雲端代理,資料會如何流動?
Eleven 本身在本機執行,但代理讀取的內容會送到所使用的代理服務,官方網站明確說明這個區分。
因此,本機工具不能直接等同於全部離線。只讀、命名、修改與除錯可以在必要下載完成後離線處理,向雲端代理提問則需要連線。
若檔案含有公司內部邏輯或客戶資訊,應先確認模型供應商與組織政策允許處理哪些內容。把整個專案提供給代理,可能超過原本的工作需要。
可以先從公開或自行建立的程式開始,瞭解代理會收到哪些資訊。需要進一步分析內部程式時,再按權限選擇資料範圍。
專案檔可以包含程式、註記、修改與聊天記錄,並交給另一位使用者接續。方便交接的同時,也代表分享前要檢查裡面包含什麼。
例如聊天紀錄可能留下路徑、內部名稱或其他工作背景。即使原始程式可以分享,分析專案裡的附加內容仍可能需要整理。
目前網站與程式庫對安裝依賴的介紹有些差異。網站描述首次啟動下載相關元件,程式庫則列出分析引擎與 Java 等需求。
對準備安裝的人,較穩妥的做法是按實際版本的發行與安裝說明確認環境。不要把一段展示中的啟動速度當成自己的安裝體驗。
專案採 Apache 二點零授權,第三方元件另列說明。這處理程式使用條件,並不表示任何第三方應用程式都能任意修改與散佈。
開發者若用它檢查相依套件,可以先留下檔案來源、版本與允許的處理範圍。這些資料也會讓日後的分析結果更容易重現。
分析筆記怎麼寫,才方便別人繼續追查?
逆向分析的筆記應把看到的證據與提出的假設分開,讓接手者知道哪些內容已確認,哪些仍需要補查。
例如某函式呼叫了網路相關操作,可以先記下呼叫位置與輸入。至於它是否把使用者內容傳走,還需要繼續追資料與條件。
代理若提出一個可能用途,筆記可以保留它的推理依據。不要只把猜測改成肯定名稱,否則後續分析者可能直接沿用錯誤前提。
當證據不足,也應說明缺的是什麼。例如只有靜態內容,尚缺執行時的參數,接手者就能決定要不要安排動態觀察。
書籤與註記還可以記錄已經排除的路徑。這能避免另一位成員從同一個線索開始,花時間重做沒有結果的分析。
重要判斷則附上檔案版本與位置。程式更新後,同一個名稱可能已指向不同內容,有版本資訊才能理解舊筆記的適用範圍。
專案輸出前,挑一條主要結論沿著筆記查回原檔。能完成這條路徑,才表示筆記真的支援追查,而不只是留下流暢的解說。
Eleven 逆向工程工具常見問題
它和 ElevenLabs 是同一個產品嗎?
本文介紹的是開源逆向工程應用程式 Eleven,官方入口為 eleven.chizi.app。名稱相近不代表與語音服務 ElevenLabs 相同。
沒有代理訂閱,也可以用嗎?
官方說明,程式閱讀與修改等功能可以不使用代理。若需要向代理提問,則使用自己登入的服務與相應方案。
支援 Windows 檔案,能在 Windows 安裝嗎?
目前應用程式支援的是 macOS。能分析 Windows 執行檔與提供 Windows 版本是不同事情,應以官方發行頁為準。
AI 幫函式命名後,答案就可靠嗎?
名稱是分析註記。重要結論仍應對照程式內容、參照與必要的動態驗證,避免把方便閱讀的名稱誤當原始碼證據。
用一個熟悉的程式,先確認分析能否回到證據
Eleven 的吸引力,在於讓代理與分析介面共用同一個工作脈絡。它能協助整理線索,使用者則保留核准與回查的責任。
準備試用時,先選一個自己有權分析、且知道部分行為的檔案。指定一個功能,請代理指出相關函式與參照,再核對它的解釋。
只有當分析能回到具體位置,並讓另一個人接續理解,才值得擴大到更複雜的檔案。這樣得到的成果,會比一段看似完整卻無法追查的說明更實用。
延伸閱讀:REA 逆向工程教學:讓 Claude Code 追查軟體功能,從證據到自己的實作