

REA: AI tự mổ xẻ phần mềm không cần mã nguồn, một đêm cán mốc 25.000 sao GitHub
REA: AI tự mổ xẻ phần mềm không cần mã nguồn, một đêm cán mốc 25.000 sao GitHub
Bạn thấy một tính năng hay trong ứng dụng nào đó và ước gì sản phẩm của mình cũng có được như vậy, nhưng không có mã nguồn để xem họ làm thế nào? Hôm nay, một công cụ tên REA (Reverse Engineer Anything) đang làm mưa làm gió trên GitHub, chỉ trong một ngày đã có thêm hơn 25.000 lượt gắn sao, đưa tổng số lên hơn 110.000. REA cho phép AI agent tự mở phần mềm ra "xem bên trong" mà không cần một dòng mã nguồn nào.
REA là gì
REA là một công cụ dùng MCP (Model Context Protocol), tức là giao thức giúp các AI agent như Claude Code, Cursor hay Gemini CLI kết nối với những công cụ phân tích phần mềm chuyên dụng. Thay vì bạn phải tự mò mẫm đọc mã máy, mở từng file để hiểu một ứng dụng hoạt động ra sao, bạn chỉ cần hỏi agent và nó sẽ tự đi tìm câu trả lời, kèm theo bằng chứng cụ thể.
Nói đơn giản: trước đây việc dịch ngược phần mềm (xem một ứng dụng được lập trình ra sao khi không có mã nguồn) là việc của dân chuyên gia bảo mật, mất nhiều ngày. REA biến việc đó thành một câu hỏi bạn gõ cho AI agent, và agent sẽ trả lời kèm bằng chứng trong vài phút.
Nó hoạt động thế nào
Theo tài liệu của dự án, cách dùng khá gọn:
- Cài đặt bằng một lệnh duy nhất:
npx rea-agents setup. Lệnh này đăng ký REA với agent bạn đang dùng (Claude Code, Codex, Cursor, Gemini CLI, Grok Build). - Bạn hỏi thẳng bằng ngôn ngữ tự nhiên, ví dụ: "Xem tính năng tìm kiếm trong ứng dụng Notes hoạt động thế nào, cho tôi bằng chứng, rồi xây một tính năng tương tự cho dự án của tôi."
- Agent gọi REA để phân tích mục tiêu: có thể là file thực thi gốc (cần thêm công cụ như Hopper, Ghidra hoặc IDA), ứng dụng Electron (như nhiều app desktop phổ biến), file .NET, APK Android, file Go, WebAssembly, hay cả firmware thiết bị.
- REA trả về mã giả (pseudocode), chuỗi dữ liệu, cấu trúc module để agent đọc hiểu.
- Agent dùng kết quả đó để giải thích cơ chế hoặc viết lại một phiên bản tương tự cho bạn.
Điểm hay là với mã JavaScript và .NET, REA phân tích tĩnh, không cần cài thêm công cụ nào. Với file thực thi gốc, REA có thể tự cài Hopper để hỗ trợ.
Ví dụ thực tế đã làm được gì
Nhóm phát triển đưa ra ba ví dụ khá ấn tượng để chứng minh REA không chỉ là lời quảng cáo:
- Game DX-Ball: REA dựng lại chính xác công thức tính âm thanh stereo (âm thanh lệch trái phải theo vị trí bóng), khớp toàn bộ 63 byte mã máy gốc qua 3.205 lượt kiểm thử.
- Notion: REA lần theo đường đi của tính năng sao chép dán (clipboard) trong ứng dụng Electron của Notion, từ giao diện cho tới tiến trình chính, vẽ ra bản đồ định dạng dữ liệu.
- Game DOS cổ TH04: REA khôi phục lại công thức tính vòng đạn bắn ra trong một game PC-98 đời cũ, rồi so sánh với mã nguồn C++ gốc để kiểm chứng.
Giới hạn và điều cần lưu ý
REA chạy phân tích ngay trên máy của bạn, không gửi file đi đâu cả, trừ khi chính agent bạn dùng có chính sách gửi dữ liệu ra ngoài. Nhóm phát triển cũng ghi rõ: người dùng phải tự chịu trách nhiệm xin phép và tuân thủ pháp luật trước khi dịch ngược bất kỳ phần mềm nào của người khác. Đây không phải công cụ để "sao chép" sản phẩm người khác một cách tuỳ tiện, mà để học cách một cơ chế hoạt động rồi tự xây dựng phiên bản của riêng bạn.
Một điểm nữa: phân tích file thực thi gốc cần thêm công cụ như Hopper, Ghidra hoặc IDA, trong đó Hopper và IDA là phần mềm trả phí. Với JavaScript, Electron và .NET thì không cần cài gì thêm.
Vì sao điều này đáng chú ý
REA là một ví dụ nữa cho thấy AI agent đang được giao những việc kỹ thuật sâu, chứ không chỉ chat trả lời câu hỏi. Đây cũng là một dạng AI agent thực thụ: bạn giao mục tiêu ("hiểu tính năng này"), agent tự quyết định dùng công cụ nào, đọc kết quả, rồi hành động tiếp. Nếu bạn đang dùng Claude Code hoặc Cursor, việc kết nối thêm một công cụ MCP như REA cũng tương tự như khi bạn kết nối MCP cho Claude Team: bạn mở rộng khả năng của agent bằng cách cho nó quyền dùng thêm công cụ chuyên dụng, chứ bản thân mô hình AI không hề đổi.
Xu hướng giao việc chuyên sâu cho agent cũng xuất hiện ở những công ty xây cả đội AI agent phối hợp với nhau thay vì chỉ chat với một bot đơn lẻ.
Câu hỏi thường gặp
REA có hợp pháp không? Công cụ hợp pháp, nhưng việc bạn dùng nó để phân tích phần mềm của người khác có hợp pháp hay không phụ thuộc vào luật bản quyền và điều khoản sử dụng ở nơi bạn sống, cũng như điều khoản của phần mềm bị phân tích. Nhóm phát triển REA yêu cầu người dùng tự chịu trách nhiệm việc này.
Tôi cần biết lập trình để dùng REA không? Bạn cần biết cách cài Node.js và chạy một lệnh dòng lệnh đơn giản, sau đó có thể hỏi agent bằng tiếng Việt hoặc tiếng Anh thông thường, không cần đọc hiểu mã máy.
REA có miễn phí không? Bản thân REA miễn phí và mã nguồn mở (giấy phép MIT). Tuy nhiên để phân tích file thực thi gốc sâu, bạn có thể cần thêm phần mềm trả phí như Hopper hoặc IDA.
REA khác gì so với việc hỏi thẳng ChatGPT hay Claude về một phần mềm? Khác biệt lớn nhất là REA cho agent quyền thực sự mở file ra đọc, kèm bằng chứng cụ thể (byte mã máy, cấu trúc module), thay vì chỉ đoán dựa trên kiến thức chung chung của mô hình.
Tôi có thể dùng REA với tất cả loại ứng dụng không? REA hỗ trợ rất nhiều định dạng (file thực thi gốc, Electron, .NET, Android, Go, WebAssembly, firmware), nhưng mức độ chi tiết phụ thuộc vào loại file và công cụ phân tích đi kèm.
Doanh nghiệp muốn giới thiệu sản phẩm AI tới bạn đọc Vibe AI Coder? Xem gói tài trợ


