- Ghidra MCP Server là máy chủ Model Context Protocol (MCP) kết nối các tính năng reverse engineering của Ghidra với AI và các framework tự động hóa
- Cung cấp khả năng phân tích nhị phân toàn diện như phân tích hàm, khám phá cấu trúc dữ liệu, trích xuất chuỗi... thông qua 110 công cụ MCP và 132 endpoint
- Hỗ trợ xử lý theo lô, giao dịch nguyên tử, phân tích thời gian thực, đồng thời có thể vận hành bằng triển khai Docker và chế độ headless
- Tính năng chuyển tài liệu cross-binary tự động đối sánh tài liệu hàm giữa các phiên bản nhị phân khác nhau
- Một nền tảng cho phép triển khai workflow reverse engineering dựa trên AI với độ ổn định ở mức production
Tổng quan
- Ghidra MCP Server là máy chủ MCP cấp production kết nối engine phân tích của Ghidra với các công cụ AI và hệ thống tự động hóa
- Triển khai đầy đủ Model Context Protocol để hỗ trợ tương tác với các mô hình AI
- Phơi bày các chức năng của Ghidra qua HTTP REST và giao thức MCP (stdio/SSE)
Tính năng chính
- Tích hợp MCP cốt lõi
- Tương thích hoàn toàn với MCP, cung cấp 110 công cụ MCP, hỗ trợ thao tác theo lô và giao dịch nguyên tử
- Tích hợp thời gian thực với engine phân tích của Ghidra
- Phân tích nhị phân
- Decompile hàm, đồ thị lời gọi, tham chiếu chéo, tự động tạo cấu trúc dữ liệu
- Bao gồm trích xuất chuỗi, phân tích bảng ký hiệu, ánh xạ bộ nhớ và tính năng chuyển tài liệu cross-binary
- Phát triển và tự động hóa
- Pipeline tự động hóa build-test-deploy-verify
- Tạo, chạy và quản lý script Ghidra, so sánh nhiều chương trình, đổi tên hàng loạt và chú thích
Cài đặt và chạy
- Thành phần bắt buộc: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
- Quy trình cài đặt
- Clone repository rồi cài các dependency Python
- Sao chép 14 thư viện Ghidra rồi build bằng Maven
- Triển khai plugin vào thư mục extension của Ghidra
- Cách chạy
- Chọn truyền tải Stdio (mặc định, dành cho công cụ AI) hoặc SSE (dành cho client Web/HTTP)
- Trong Ghidra, chạy Tools > GhidraMCP > Start MCP Server
Hiệu năng và độ ổn định
- Triển khai đầy đủ 110 công cụ MCP, với thời gian phản hồi dưới 1 giây cho phần lớn thao tác
- Cấu trúc thao tác theo lô giúp giảm 93% số lần gọi API
- Mọi thao tác đều được xử lý bằng giao dịch nguyên tử để đảm bảo độ tin cậy
- Cung cấp script triển khai tự động có nhận biết phiên bản
Cấu trúc API
- Thao tác cốt lõi: kiểm tra kết nối, truy vấn metadata, thông tin phiên bản, khám phá entry point
- Phân tích hàm: danh sách hàm, tìm theo tên, decompile, đồ thị quan hệ lời gọi, đánh giá mức độ hoàn thiện tài liệu
- Bộ nhớ và dữ liệu: danh sách segment, disassemble, tham chiếu chéo, kiểm tra nội dung bộ nhớ
- Tài liệu hóa cross-binary: tạo hash hàm, xuất/áp dụng tài liệu, đối sánh dựa trên hash
- Quản lý kiểu dữ liệu: tạo struct/enum, chỉnh sửa field, hợp nhất các kiểu trùng lặp
- Quản lý symbol và label: danh sách import/export, phân tích chuỗi, quản lý namespace và biến toàn cục
- Đổi tên và chú thích: đổi tên hàm/dữ liệu/biến, thiết lập chú thích hàng loạt
- Hệ thống kiểu: chỉ định prototype hàm, thiết lập kiểu biến, truy vấn calling convention
- Quản lý script Ghidra: danh sách script, chạy, lưu, sửa, xóa
- Hỗ trợ nhiều chương trình: chuyển đổi giữa các chương trình đang mở, danh sách file dự án, so sánh tài liệu
- Công cụ phân tích: tìm hàm chưa được xác định, tìm kiếm theo chuỗi, tìm mẫu byte
Kiến trúc
- Cấu trúc AI/Automation tool ↔ MCP Bridge ↔ Ghidra Plugin
bridge_mcp_ghidra.py: máy chủ Python chuyển đổi giao thức MCP thành các lời gọi HTTP
GhidraMCP.jar: plugin Java phơi bày chức năng của Ghidra qua HTTP
ghidra_scripts/: bao gồm hơn 70 script tự động hóa
Phát triển và build
- Cung cấp build dựa trên Maven và script triển khai PowerShell
- Cấu trúc dự án gồm máy chủ Python, plugin Java, thư viện Ghidra, tài liệu, ví dụ và script build
- Cần sao chép 14 thư viện bắt buộc (khoảng 37MB) từ đường dẫn cài đặt Ghidra
- Bao gồm các tính năng triển khai tự động, thao tác theo lô, giao dịch nguyên tử và logging chi tiết
Tài liệu và workflow AI
- Thư mục docs/ chứa tài liệu đầy đủ, cấu trúc dự án, quy ước đặt tên và Hungarian notation
- Prompt workflow AI: cung cấp prompt cho tài liệu hóa hàm, đối sánh giữa các phiên bản và hướng dẫn bắt đầu nhanh
- Lịch sử phát hành: CHANGELOG.md và docs/releases ghi chi tiết theo từng phiên bản
Giấy phép và trạng thái
- Áp dụng Apache License 2.0
- Phiên bản 2.0.0, triển khai đầy đủ 110 công cụ MCP, bao gồm hơn 70 script Ghidra
- Sẵn sàng triển khai trong môi trường production, phù hợp cho reverse engineering dựa trên AI
Dự án liên quan
- re-universe: nền tảng phân tích độ tương đồng nhị phân quy mô lớn dựa trên PostgreSQL
- cheat-engine-server-python: máy chủ MCP cho phân tích bộ nhớ động và debug
Lời cảm ơn
- Gửi lời cảm ơn tới đội ngũ Ghidra, nhóm phát triển Model Context Protocol và các cộng tác viên cộng đồng
1 bình luận
Ý kiến trên Hacker News
Tôi đã tạo dự án này vì quá đau khổ khi phải reverse engineering nhiều phiên bản của cùng một phần mềm
Điểm cốt lõi là một hệ thống băm hàm đã được chuẩn hóa, tạo hash dựa trên cấu trúc logic của hàm (lệnh, toán hạng, luồng điều khiển)
Nhờ vậy, ngay cả khi binary được build lại hoặc rebase, cùng một hàm vẫn có cùng hash, và mọi chú thích, kiểu dữ liệu, tên gọi đều được chuyển sang tự động
Đây là một cầu nối MCP cho Ghidra, bao gồm 110 công cụ và có thể tích hợp với Claude, Claude Code hoặc các MCP client khác
Tôi đã kiểm chứng với nhiều phiên bản patch của Diablo II và có thể tự động chuyển hơn 1.300 chú thích hàm
Tích hợp CI cũng khả thi nhờ headless mode dựa trên Docker
Trong v2.0.0, tôi đã thêm bind chỉ cho localhost, thiết lập timeout, xóa label, cấu hình .env, v.v.
Rất hoan nghênh thảo luận về cách tiếp cận băm hoặc thiết kế MCP
Có vẻ hướng dẫn cài đặt chưa đầy đủ. Tôi cài vào Ghidra rồi khởi động lại nhưng không thấy GhidraMCP trong menu Tools
Không rõ GH Discussions có phải là kênh trao đổi phù hợp không
Tôi đã dùng Ghidra MCP server của LaurieWired, và việc phân tích binary cũng như tạo keygen rất vui và đơn giản
Tôi nhất định sẽ thử MCP server này
Thấy dự án này xuất hiện đúng lúc như vậy thật kỳ lạ
Tôi thấy một đồng nghiệp dùng Ghidra với Claude để hack game River Ride nên cũng thử làm theo
Tôi đã port một game cũ cho PowerPC sang Apple Silicon, và dù đã thử nhiều MCP, Claude Code vẫn thường bịa mã
Cuối cùng tôi có kết quả tốt nhất với headless mode của Cursor + GPT 5.2 Codex
Ví dụ, nó đã phục dựng hoàn chỉnh một file C64-SID dài 1.300 dòng chỉ trong 30 phút
Hiện tôi đang xây dựng một hệ thống đa tác tử để đảo ngược toàn bộ game C64
Xem mã ví dụ
Reverse engineering bằng AI đang bị đánh giá thấp
Tôi đã trích xuất thành công khóa mã hóa từ một ứng dụng Android, trong đó khóa bị giấu trong shader và thực sự phải chạy shader mới lấy được
Giờ chúng tôi đang thêm tính năng multiplayer trên trình duyệt
Tôi đã dùng bản 15 công cụ của LaurieWired suốt vài tháng, và có cảm giác cấu trúc bên trong của app trở nên hoàn toàn trong suốt
Tôi có thể lần bug, làm plugin, thậm chí sửa app
Với mã Objective-C, tôi còn dùng thêm Hopper Disassembler
Bài báo liên quan: Full recompilation with LLMs and Ghidra
Reverse engineering bằng LLM thật sự đang bị đánh giá thấp
Tôi đang phục dựng một game 30 năm tuổi, và khi đưa kết quả decompile của Ghidra cùng thông tin symbol cho mô hình theo kiểu RAG, kết quả thật đáng kinh ngạc
Ngay cả các model giá rẻ như Gemini 3 Flash cũng đủ dùng
Nó bỏ sót một phần của hàm hoặc chỉ để lại chú thích bên trong khối switch
Trong khi đó Claude Opus hay Qwen3-30B-A3B cho ra mã hoàn chỉnh hơn nhiều
Cửa sổ ngữ cảnh lớn của Gemini là một lợi thế, nhưng trên thực tế vẫn bị hạn chế khá nhiều vì sự dài dòng của PCode
Tôi từng nghĩ nối quá nhiều công cụ vào MCP sẽ làm giảm hiệu năng, và cái này không có vẻ là một thiết kế tốt
Dù vậy, các công cụ thiên về chuyển đổi API vẫn kém tương thích với LLM
Tôi không phải reverse engineer, nhưng đã dùng Claude Code và Ghidra MCP để cải thiện một trình giải mã ransomware
Khi khôi phục được hàng terabyte dữ liệu, tôi thật sự có cảm giác như có siêu năng lực
Tôi nghĩ AI có thể thể hiện năng lực siêu phàm trong phân tích binary
Hiện tại đây vẫn là công việc năng suất thấp và nhàm chán, nhưng nhờ AI, nó có thể được dùng cho kiểm toán bảo mật hay phòng thủ trước các cuộc tấn công chuỗi cung ứng
“skill-snitch” của MOOLLM giám sát hoạt động của các kỹ năng khác, còn “cursor-mirror” thì nhìn xuyên hoàn toàn vào trạng thái nội bộ của Cursor
Những kỹ năng này có thể kết hợp và gọi đệ quy lẫn nhau, hoạt động theo kiểu “speed of light” nhanh hơn MCP rất nhiều
Tài liệu liên quan: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
Tôi tò mò vì sao lại không làm theo kiểu CLI-based. Có vẻ dạo này LLM và agent xử lý CLI tốt hơn