GitHub Copilot 逆向工程教學手冊
GitHub Copilot 逆向工程教學手冊(Java Web) 版本:3.0 最後更新:2026-09-01 適用對象:資深工程師、架構師、技術主管 技術棧:Java 21 LTS(既有系統延續)/25 LTS(新專案建議)|Spring Boot 4.1.x(現行建議,最新 patch 4.1.1)/4.0.x(維護中;3.x 系列已於 2026-06-30 全面 EOL)|VS Code 1.135+GitHub Copilot(Chat/Agents/Plan/Cloud Agent/CLI/MCP/Agent Plugins) 本版重點:全面對齊 2026-09-01 現況——收錄 VS Code 1.135 Agents 視窗、Agent Plugins 1.0、Copilot Code Review 能力擴充;修正 MCP、Agent Skills、Hooks 三處已變更的設定路徑(舊寫法照抄會失效);更新 2026-09-01 生效的模型下架清單與計費政策。逐條佐證見 附錄 E。 📑 目錄 第 1 章 概論 1.1 什麼是逆向工程(Reverse Engineering) 1.2 Legacy System 現代化挑戰 1.3 GitHub Copilot 在逆向工程的角色 Copilot 2026 核心功能對逆向工程的價值 1.4 適用情境 銀行/金融業 製造業 政府機關 適用判斷矩陣 第 2 章 三種逆向工程策略 2.1 黑箱逆向(Black-box Reverse Engineering) 黑箱逆向的定義 黑箱適用情境 操作方式 Copilot 如何協助 黑箱優缺點 黑箱實務案例 2.2 白箱逆向(White-box Reverse Engineering) 白箱逆向的定義 白箱適用情境 Copilot 如何理解 Legacy Code 如何產出架構圖 如何產出 API 文件 如何產出資料模型 白箱優缺點 白箱實務案例 2.3 灰箱逆向(Gray-box / Hybrid) 灰箱逆向的定義 灰箱適用情境 Strangler Fig Pattern 灰箱逆向操作流程 Copilot 在灰箱逆向的角色 灰箱優缺點 灰箱實務案例 2.4 三種策略比較總覽 第 3 章 SDLC 對應逆向工程流程 3.1 需求分析(Requirement Analysis) 從程式碼推導需求的方法論 Copilot 推導需求的實作範例 從程式碼推 SRS 的標準流程 3.2 系統設計(System Design) 架構重建(Architecture Reconstruction) Clean Architecture 映射圖 3.3 開發(Implementation) 使用 Spring Boot 開發新系統 3.4 測試(Testing) 自動生成測試案例 逆向工程測試策略 3.5 部署(Deployment) CI/CD Pipeline 設計 Docker 容器化 GitHub Actions CI/CD 範例 第 4 章 GitHub Copilot 實戰流程 4.1 Step 1:分析舊系統 Step 1 目標 Step 1 操作指引 4.2 Step 2:建立理解模型(Domain Model) Step 2 目標 Step 2 操作指引 4.3 Step 3:產出文件(AI 自動生成) Step 3 目標 文件清單與 Copilot 指令 4.4 Step 4:建立新專案(Spring Boot) Step 4 目標 Step 4 操作指引 4.5 Step 5:逐步重構 Step 5 目標 遷移順序建議 每個模組的遷移步驟 4.6 Step 6:驗證與測試 雙軌驗證(Parallel Run) 驗證清單 4.7 Agent Mode 加速逆向工程 使用 Agent Mode 自動化分析 使用 Plan 代理規劃遷移 使用 Cloud Agent 自動化遷移 以 Agents 視窗並行推進多模組 第 5 章 Copilot Prompt Engineering 5.1 Prompt 設計原則 高品質 Prompt 的 CRISP 原則 好 Prompt vs 壞 Prompt 5.2 程式碼分析類 Prompt Prompt #1:模組功能分析 Prompt #2:呼叫鏈追蹤 Prompt #3:資料流分析 5.3 語言轉換類 Prompt Prompt #4:VB → Java 完整轉換 Prompt #5:Stored Procedure → Java Service 轉換 Prompt #6:C# → Java 轉換 5.4 文件產出類 Prompt Prompt #7:自動產出 API 文件 Prompt #8:產出架構設計文件 5.5 測試生成類 Prompt Prompt #9:生成特徵測試(Characterization Test) Prompt #10:生成整合測試 5.6 Prompt 模板庫 通用分析模板 批次轉換模板 5.7 Custom Instructions(專案級指令) 什麼是 Custom Instructions 目前支援的客製化檔案類型 逆向工程專用 Custom Instructions 範例 搭配 Agent Skills 使用 5.8 Agent Mode 專用 Prompt 設計 Agent Mode vs Chat Mode Prompt 的差異 Agent Mode Prompt 範例:全模組逆向分析 Agent Mode Prompt 範例:自動化模組遷移 用 Custom Agents 建立逆向工程流水線 第 6 章 架構設計(企業級) 6.1 微服務 vs 單體架構決策 架構選擇比較表 6.2 分層架構設計 各層職責定義 實際範例:利息計算模組 6.3 資料庫遷移設計 遷移策略 DB Schema 遷移對照表 Flyway 資料遷移腳本範例 6.4 中介軟體整合 企業級系統架構圖 中介軟體選型建議 第 7 章 風險與最佳實務 7.1 常見錯誤 錯誤一:過度信任 AI 產出 錯誤二:Big Bang 全面重寫 錯誤三:忽略「隱藏功能」 7.2 逆向工程失敗案例分析 案例一:某銀行核心系統全面重寫失敗 案例二:忽略 Stored Procedure 遷移 7.3 資料遺失風險與對策 資料遷移風險矩陣 資料遷移安全方案 7.4 安全性考量 逆向工程中的安全重點 舊系統常見安全漏洞與修正 使用 Copilot 進行安全審查 7.5 AI 治理與企業合規 AI 治理框架 企業 AI 使用政策建議 Copilot 企業管理功能 AI 輔助開發的 Commit 規範 OWASP Top 10 2025 對照清單 第 8 章 完整案例(實戰) 8.1 案例背景:VB6 客戶管理系統 系統概述 舊系統架構 8.2 Copilot 分析過程 Step 1:匯入舊系統原始碼 Step 2:使用 Copilot 分析關鍵模組 Step 3:識別所有商業規則 8.3 新系統 Spring Boot 實作 轉換後的客戶查詢功能 新舊系統對照 8.4 案例二:舊 Java Servlet 轉 Spring Boot 原始 Servlet 程式碼 Copilot 分析與轉換 轉換後的 Spring Boot 程式碼 第 9 章 工具整合 9.1 VS Code 配置 必備 Extension VS Code 設定建議 工作區配置(多語言專案) 9.2 GitHub Copilot Chat 逆向工程專用命令 Copilot Chat 最佳實務 9.3 Copilot CLI 安裝與啟動 逆向工程情境下的實際用法 Copilot CLI 的關鍵能力(2026 現況) 9.4 SonarQube 整合 在逆向工程中使用 SonarQube 舊系統分析配置 新系統 Quality Gate Maven 整合 SonarQube 9.5 Swagger / OpenAPI 自動產出 API 文件 9.6 Copilot Agent Mode 與 Cloud Agent Agent Mode(本地代理)設定 Cloud Agent(雲端代理)設定 最新發展:統一的 Agents 體驗 9.7 MCP Server 整合 什麼是 MCP(Model Context Protocol) 逆向工程常用 MCP Server 設定 MCP 在逆向工程中的實際應用 9.8 Copilot Code Review Agentic Code Review 2026 年最新更新 9.9 Copilot Spaces 與 Memory Copilot Spaces — 組織逆向工程上下文 Copilot「記憶」機制 — 依介面而異,並非單一功能 Copilot App 的 Customize 分頁 9.10 Agent Plugins 1.0 打包逆向工程工具鏈 為什麼逆向工程需要 Agent Plugins 外掛結構 企業導入方式 9.11 工具鏈時效性的自我查證 為什麼這一節有必要 官方查證來源與檢查頻率 專案的季度複查清單 第 10 章 結論 10.1 三種逆向策略比較表 10.2 推薦最佳實務 逆向工程成功關鍵 Top 10 最佳實務(Best Practices) 推薦的團隊組成 附錄 A:逆向工程檢查清單(Checklist) 📋 Phase 0:專案啟動 📋 Phase 1:分析 📋 Phase 2:設計 📋 Phase 3:開發 📋 Phase 4:驗證 📋 Phase 5:上線 附錄 B:Prompt 快速參考卡 分析類 轉換類 文件類 測試類 附錄 C:常用工具版本對照 AI 模型版本對照(2026 年 Q3 現況) 2026-09-01 模型下架與替代對照 附錄 D:成本效益分析(ROI 評估) 逆向工程 ROI 計算框架 典型 ROI 估算 GitHub Copilot 授權成本 附錄 E:參考資料與官方來源 VS Code 官方文件 GitHub Copilot Changelog GitHub Docs 與其他 文件維護與版本紀錄 更新時機 版本紀錄 第 1 章 概論 1.1 什麼是逆向工程(Reverse Engineering) 逆向工程是指從「已存在的系統產出物(程式碼、執行檔、資料庫)」出發,反向推導出系統的: ...