REA là một dự án mã nguồn mở rất đáng chú ý trong lĩnh vực reverse engineering (dịch ngược phần mềm). Nó cho phép các AI Agent như Claude Code, Codex hay Gemini CLI sử dụng những công cụ phân tích chuyên dụng để tìm hiểu cách một phần mềm hoạt động, ngay cả khi không có mã nguồn gốc.
Điểm khác biệt lớn nhất là REA không chỉ đưa đoạn mã cho AI đọc, mà còn giúp AI chủ động điều tra, truy vết lời gọi hàm, phân tích logic và đưa ra bằng chứng kỹ thuật.
Ví dụ, bạn có một ứng dụng Windows chỉ gồm file
Dự án hỗ trợ phân tích ứng dụng native, JavaScript/Electron, .NET và website; mức độ hỗ trợ khác nhau tùy loại mục tiêu và công cụ được cài đặt.
GitHub
+1
EXE, DLL, ứng dụng Electron, website...
AI Agent — Claude Code / Codex
Đặt câu hỏi, lập giả thuyết, yêu cầu phân tích
REA — MCP Server + CLI
Kết nối AI với các công cụ reverse engineering
Ghidra
Hopper
IDA
Bộ phân tích JS
Kết quả phân tích có bằng chứng
Pseudocode, assembly, luồng xử lý, báo cáo, gợi ý tái triển khai
Quy trình cơ bản gồm ba bước:
GitHub
+1
REA còn hỗ trợ kiểm tra dữ liệu SQLite, thông tin build của chương trình Go/Rust và các bản ghi crash trên Linux.
Nói cách khác, REA không thay thế Ghidra hay IDA, mà đóng vai trò cầu nối để AI sử dụng chúng hiệu quả hơn.
github.com
Điểm khác biệt lớn nhất là REA không chỉ đưa đoạn mã cho AI đọc, mà còn giúp AI chủ động điều tra, truy vết lời gọi hàm, phân tích logic và đưa ra bằng chứng kỹ thuật.
Ví dụ, bạn có một ứng dụng Windows chỉ gồm file
.exe, không có source code. REA có thể hỗ trợ AI phân tích cấu trúc chương trình, tìm các hàm liên quan đến một tính năng và giải thích cách tính năng đó được triển khai.Dự án hỗ trợ phân tích ứng dụng native, JavaScript/Electron, .NET và website; mức độ hỗ trợ khác nhau tùy loại mục tiêu và công cụ được cài đặt.
GitHub
+1
1. REA hoạt động như thế nào?
Phần mềm cần phân tíchEXE, DLL, ứng dụng Electron, website...
AI Agent — Claude Code / Codex
Đặt câu hỏi, lập giả thuyết, yêu cầu phân tích
REA — MCP Server + CLI
Kết nối AI với các công cụ reverse engineering
Ghidra
Hopper
IDA
Bộ phân tích JS
Kết quả phân tích có bằng chứng
Pseudocode, assembly, luồng xử lý, báo cáo, gợi ý tái triển khai
Quy trình cơ bản gồm ba bước:
- Decompile: Phân tích file thực thi để tìm hàm, chuỗi ký tự, cấu trúc dữ liệu và mã giả.
- Understand: AI lần theo quan hệ giữa các hàm, xác định cách tính năng hoạt động.
- Recreate: AI sử dụng những hiểu biết thu được để xây dựng một cách triển khai mới phù hợp với sản phẩm của bạn.
2. REA có thể phân tích những loại phần mềm nào?
Theo tài liệu hiện tại, phạm vi của REA khá rộng.GitHub
+1
| Đối tượng | Khả năng phân tích |
|---|---|
| Windows EXE, DLL | Hàm, assembly, pseudocode, lời gọi hàm |
| macOS App, Mach-O | Cấu trúc ứng dụng, mã native, tài nguyên |
| Linux ELF | Binary, symbols, sections, relocations |
| Electron | JavaScript, module, IPC, preload, source map |
| Website | Script, cấu trúc trang, network requests |
| Android APK | Manifest, classes, phương thức qua JADX |
| .NET | Metadata, CIL, dependency |
| Firmware | Trích xuất và chuyển tiếp sang công cụ phân tích |
| Network capture | HTTP, HAR, gói tin và giao thức |
| WebAssembly | Import/export, sections, WAT |
3. So sánh REA với Ghidra và IDA Pro
| Tiêu chí | REA | Ghidra | IDA Pro |
|---|---|---|---|
| Vai trò | Điều phối phân tích bằng AI | Bộ dịch ngược | Bộ dịch ngược |
| AI Agent | Tích hợp qua MCP | Cần tích hợp bổ sung | Cần tích hợp bổ sung |
| Decompile native | Dùng engine bên ngoài | Có | Có, tùy phiên bản |
| Phân tích tự động nhiều bước | Có, qua Agent | Qua script/tích hợp | Qua script/tích hợp |
| Giải thích bằng ngôn ngữ tự nhiên | Qua AI Agent | Không phải chức năng cốt lõi | Không phải chức năng cốt lõi |
| Giá phần mềm | REA miễn phí | Miễn phí | Có phiên bản thương mại |
GitHub - morluto/rea: Reverse engineer anything with agents, from app behavior down to native binaries.
Reverse engineer anything with agents, from app behavior down to native binaries. - morluto/rea