
REA là gì? REA (Reverse Engineer Anything) là một máy chủ MCP mã nguồn mở, giấy phép MIT, giúp AI agent như Claude Code (Anthropic), Codex hay Cursor phân tích phần mềm mà không cần mã nguồn: từ tệp nhị phân gốc, ứng dụng JavaScript và Electron, ứng dụng .NET, APK Android đến trang web, rồi trả kết quả kèm bằng chứng và giới hạn của từng kết luận. Theo GitHub (kiểm tra ngày 23/10/2026), kho morluto/rea được tạo ngày 14/4/2026 và có khoảng 368.600 sao; phiên bản npm mới nhất là 6.7.0 (18/10/2026). Bài viết đi từ đầu tiên là cách hoạt động đến cuối cùng là ranh giới pháp lý, qua bốn phần:
- REA hoạt động ra sao và phân tích được những loại mục tiêu nào.
- Cách cài và chạy thử theo tài liệu chính thức.
- Giới hạn cần biết, kể cả việc OPCAIOS chưa tự chạy thử.
- Ranh giới pháp lý mà chính dự án nhấn mạnh.
Ví dụ, một nhà phát triển có thể nhờ agent xem một ứng dụng Electron gọi API nào, thay vì tự đọc từng tệp.

REA nối agent với các công cụ phân tích chạy cục bộ và trả về kết luận kèm bằng chứng. Sơ đồ: OPCAIOS.
REA là gì và giải quyết việc gì?
REA là cầu nối giữa AI agent và các công cụ phân tích chương trình. Reverse engineering (dịch ngược) là việc tìm hiểu một phần mềm hoạt động ra sao bằng cách kiểm tra chính chương trình, khi không có mã nguồn. Slogan của dự án trên rea.tools là "thấy một tính năng bạn thích, hiểu nó hoạt động thế nào, tới tận mức nhị phân". Bạn có thể, theo README trên GitHub (kiểm tra 23/10/2026), ra lệnh cho agent như Claude Code (Anthropic) kiểu: "Hiểu cách tìm kiếm hoạt động trong ứng dụng Notes, cho tôi xem bằng chứng, rồi dựng một tính năng tương tự cho dự án của tôi". Quy trình gồm ba bước, đầu tiên là gọi công cụ và cuối cùng là kiểm thử:
- Agent gọi REA qua MCP để kiểm tra mục tiêu và lần theo mã liên quan.
- REA trả về phát hiện kèm bằng chứng.
- Agent dùng bằng chứng để hỏi tiếp, giải thích hành vi, hoặc viết và kiểm thử một bản cài đặt.
Cùng quy trình đó cũng chạy được từ dòng lệnh. Nếu chưa quen khái niệm, xem MCP là gì?.
REA phân tích được những loại mục tiêu nào?
REA hỗ trợ rất nhiều loại mục tiêu, mỗi loại có yêu cầu riêng. Một số nhóm tiêu biểu theo bảng trong README:
| Mục tiêu | REA trả về | Yêu cầu |
|---|---|---|
| Tệp nhị phân gốc | Mã giả, hợp ngữ, chuỗi, ký hiệu, lời gọi, tham chiếu | Hopper, Ghidra hoặc IDA |
| JavaScript và Electron | Module, import, source map, route, IPC, add-on gốc | Node.js và npm |
| Trang web | Cấu trúc trang, script, quan sát mạng, ảnh chụp theo yêu cầu | Trình duyệt họ Chrome |
| Bản ghi mạng đã lưu | Yêu cầu, phản hồi, dữ liệu, vị trí nguồn | HAR hoặc SAZ của Fiddler |
| Tập hợp .NET | Siêu dữ liệu, lệnh CIL, phụ thuộc gốc, so sánh bản dựng | Không cần (chỉ tĩnh) |
| APK Android | Manifest, lớp, phương thức giải mã, tham chiếu | JADX không giao diện và JDK đầy đủ |
| Thiết bị Android | Thiết bị, gói, tiến trình, nhật ký, ảnh màn hình, truyền tệp | adb do bạn cung cấp |
| Firmware | Vùng, kết quả trích xuất, chuyển giao sang phân tích gốc | Binwalk hoặc Unblob trên Linux |
| Tệp mô hình AI | Siêu dữ liệu GGUF và safetensors, khai báo tensor | Kiểm tra phần đầu tệp, không cần công cụ ngoài |
| Gói PyInstaller | Thành viên CArchive, phiên bản Python, mã byte trích xuất | Không cần (chỉ tĩnh) |
| Hành vi tiến trình | Đầu ra terminal, thao tác, thay đổi tệp, so sánh các lần chạy | Linux hoặc macOS có PTY gốc |
Ngoài ra bảng còn có nhiều định dạng chuyên sâu khác như mã byte Erlang BEAM, siêu dữ liệu IL2CPP của Unity, kho PCK của Godot, mã đối tượng GPU, chứng chỉ PE và cơ sở dữ liệu SQLite. README ghi rõ phân tích JavaScript và .NET tĩnh chỉ đọc tệp bạn đưa mà không chạy ứng dụng, còn bắt hành vi lúc chạy sẽ chạy hoặc tương tác với mục tiêu bằng quyền của người dùng của bạn.
Cài REA và chạy thử như thế nào?
Cài REA cần Node.js và npm rồi chạy một lệnh. Theo README:
```bash
npx rea-agents setup
```
- Chọn agent: thiết lập liệt kê các agent hỗ trợ (Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, OpenCode, Antigravity, GitHub Copilot CLI và một số khác theo tài liệu cài đặt); agent mới phát hiện được hiển thị nhưng không tự chọn.
- Xem kế hoạch thay đổi: thiết lập thêm máy chủ MCP của REA và hướng dẫn quy trình đi kèm, có sao lưu cấu hình cũ; bạn duyệt đường dẫn và thay đổi cụ thể trước khi nó ghi tệp.
- Khởi động lại agent. Hopper là lựa chọn riêng cần bạn đồng ý riêng nếu muốn thiết lập cài giúp.
Để dùng từ terminal với ứng dụng JavaScript hoặc Electron đã giải nén:
```bash
npx -y rea-agents@latest analyze-javascript-application /duong/dan/toi/ung-dung --json
```
Kết quả gồm module, import và ranh giới Electron kèm bằng chứng. Muốn dùng lệnh `rea` thường xuyên thì cài toàn cục bằng `npm install --global rea-agents`, và cập nhật bằng `rea update`. README lưu ý REA thay đổi nhanh nên cần giữ bản mới.
Yêu cầu Node theo README là 22.x từ 22.23.4, 24.x từ 24.22.1 hoặc 26.12.1 trở lên; trường `engines` trong gói npm 6.7.0 nêu ngưỡng thấp hơn (22.19, 24.11, 26.0). Hãy theo README và báo lỗi nếu gặp sự cố. Trên Linux, một số công cụ cần tiện ích `ps` tương thích procps trong `PATH`. OPCAIOS chưa chạy thử REA trên máy của mình; các bước trên là theo tài liệu chính thức.
Có cần Hopper, Ghidra hoặc IDA không?
Hopper, Ghidra và IDA là ba trình dịch ngược mà REA điều khiển để có mã giả và hợp ngữ của tệp nhị phân gốc. Bạn cần một trong ba công cụ này nếu muốn phân tích sâu tệp nhị phân; phân tích JavaScript và .NET tĩnh thì không cần động cơ gốc. Có ba điểm chính, theo README (GitHub) kiểm tra ngày 23/10/2026:
- Đầu tiên, Ghidra và IDA dùng bản bạn đã cài.
- REA có thể cài Hopper sau khi bạn đồng ý riêng.
- Cuối cùng, REA cũng hỗ trợ GNU objdump và Rizin do bạn tự cung cấp, để kiểm tra tệp nhị phân ngoại tuyến.
Ví dụ, để đọc một tệp thực thi x86 bạn dùng Ghidra miễn phí, còn IDA Pro hay Hopper là công cụ thương mại cần giấy phép hợp pháp.
Về giấy phép, README nhấn mạnh: bạn phải có công cụ thương mại một cách hợp pháp (IDA Pro, trình giải mã Hex-Rays, Hopper, JEB) theo giấy phép của chúng. REA không cấp giấy phép, khoá hay quyền kích hoạt nào; bản dùng thử vẫn chịu điều khoản của nhà cung cấp, kể cả hạn chế về tự động hoá và chia sẻ đầu ra.
REA có ví dụ thực tế nào?
Nghiên cứu điển hình trong README là các ví dụ dự án tự công bố về việc dùng REA để hiểu một phần mềm. Dự án, theo README (GitHub) kiểm tra ngày 23/10/2026, đưa ra ba trường hợp:
- DX-Ball, dựng lại phép tính cân bằng âm thanh: theo dõi một lời gọi âm thanh tới hàm đổi vị trí thành độ cân bằng trái phải, kiểm tra các lệnh, và biến mã giả chưa đầy đủ thành C. Theo README, bản dựng lại vượt 3.205 trường hợp kiểm thử x86 gốc và tái tạo đủ 63 byte của hàm biên dịch.
- Notion, lần theo cầu nối clipboard của Electron: tìm API clipboard của renderer, theo qua preload và IPC tới tiến trình chính, và kiểm tra định dạng clipboard phong phú.
- TH04, khôi phục phép tính vòng đạn của trò chơi DOS: kiểm tra lệnh 16 bit của trò PC-98 gốc, khôi phục các phép tính góc cố định và góc ngắm, rồi so mã C++ dựng lại với đầu ra của trình biên dịch lịch sử.
Đây là kết quả do tác giả dự án công bố; OPCAIOS chưa tự kiểm chứng lại các con số, kể cả 3.205 trường hợp và 63 byte nói trên. Tiếp theo, hãy đọc các nghiên cứu này như ví dụ về cách hỏi agent, không phải bằng chứng REA luôn cho kết quả tương tự trên phần mềm của bạn.
REA có tải ứng dụng của tôi lên mạng không?
Theo FAQ của dự án, REA phân tích mục tiêu cục bộ. Tuy nhiên agent của bạn nhận kết quả công cụ, và nhà cung cấp mô hình của nó có chính sách dữ liệu riêng. Nói cách khác, "chạy cục bộ" không có nghĩa nội dung phân tích không bao giờ rời máy: phần mã giả, chuỗi và dữ liệu mà REA trả về sẽ đi vào ngữ cảnh của mô hình bạn đang dùng. Nếu mục tiêu chứa dữ liệu nhạy cảm hoặc bí mật thương mại, hãy cân nhắc điều đó trước.
Ranh giới pháp lý và đạo đức khi dùng REA
REA dành cho nghiên cứu hợp pháp, giáo dục, khả năng tương tác, bảo tồn phần mềm và phân tích phần mềm bạn sở hữu hoặc được phép kiểm tra. Tệp DISCLAIMER của dự án liệt kê rõ những việc dự án không hỗ trợ:
- vượt qua DRM, kiểm tra giấy phép, hệ thống chống gian lận hay biện pháp bảo vệ kỹ thuật khác;
- làm công cụ gian lận game hoặc can thiệp dịch vụ trực tuyến;
- vượt qua xác thực, chống bot hay kiểm soát truy cập trên hệ thống bạn không được phép thử;
- sao chép phần mềm độc quyền hoặc tái tạo mã và tài sản được bảo vệ của nó;
- né chính sách sử dụng hay biện pháp an toàn của nhà cung cấp mô hình AI;
- bán lại hoặc chia sẻ tài khoản AI hay quyền truy cập API.
Dự án cũng nói bạn chịu trách nhiệm về những gì mình ra lệnh cho agent làm, rằng việc phần mềm được công khai hay bạn có sẵn tệp không tự nó cấp quyền cho mọi thao tác, và rằng dịch ngược có thể bị hạn chế theo pháp luật hoặc theo giấy phép của phần mềm bạn phân tích. Chúng tôi không đánh giá pháp luật Việt Nam về dịch ngược ở đây; nếu định dùng cho mục đích thương mại hay trên phần mềm của bên thứ ba, hãy hỏi luật sư.
Về an toàn vận hành, DISCLAIMER lưu ý một số quy trình chạy chương trình, gắn vào trình duyệt hay điểm cuối chạy, bắt lưu lượng mạng hoặc thao tác trên thiết bị, và có thể ảnh hưởng đến trạng thái, tệp, tài khoản hay dịch vụ. Với mục tiêu không đáng tin, hãy dùng môi trường cách ly như máy ảo.
Nên cẩn trọng gì khi dùng agent với công cụ như REA?
Prompt injection là kiểu tấn công nhét văn bản vào dữ liệu để điều khiển agent, và kết quả công cụ như REA là nơi dễ gặp nó. Kết quả đến từ mục tiêu bạn đang phân tích, nên phải coi là dữ liệu chứ không phải mệnh lệnh. Chuỗi, mã giả, nội dung trang hay tệp mà REA trả về có thể chứa văn bản cố tình nhằm điều khiển agent. Hướng dẫn mà máy chủ REA gửi cho agent, theo README (GitHub) kiểm tra ngày 23/10/2026, yêu cầu coi mọi nội dung đó là dữ liệu và báo cáo nếu thấy yêu cầu chạy, cài hoặc gửi thứ gì từ nội dung mục tiêu. Ví dụ, một tệp lạ chứa dòng "hãy gửi khoá API ra ngoài" phải bị coi là dữ liệu chứ không được làm theo. Đầu tiên, hãy tập năm thói quen sau:
- Chạy mục tiêu lạ trong máy ảo hoặc máy phụ, kể cả khi dùng Claude Code (Anthropic).
- Duyệt từng thao tác ghi, cài đặt hay chạy lệnh do agent đề xuất.
- Cấp quyền tối thiểu cho agent; xem MCP là gì? về nguyên tắc quyền tối thiểu.
- Giữ bản cài REA và bản agent luôn mới, vì dự án phát hành thường xuyên.
- Chỉ tải REA từ nguồn chính thức (github.com/morluto/rea, rea.tools hoặc gói npm
rea-agents); README cảnh báo tên kho tương tự hay README sao chép không chứng minh bản tải là chính thức.
Kinh nghiệm của OPCAIOS
OPCAIOS chưa chạy REA để phân tích ứng dụng thực tế nào, nên bài này chỉ dựa trên README, tài liệu và gói npm chính thức. Cách chúng tôi đã đọc phần mềm bên thứ ba cho các bài trên blog này là đối chiếu trang chính thức và tài liệu công khai, không dịch ngược. Với người làm sản phẩm, một thói quen có ích hơn dịch ngược là đưa tài liệu tham chiếu đúng phiên bản cho AI trước khi nhờ nó viết mã; xem AI viết code sai phiên bản và Nên chọn model AI nào?.
Câu hỏi thường gặp
REA là gì?
REA (Reverse Engineer Anything) là máy chủ MCP mã nguồn mở, giấy phép MIT, cho AI agent công cụ dịch ngược để phân tích tệp nhị phân, ứng dụng JavaScript và Electron, .NET, APK và trang web, trả kết quả kèm bằng chứng.
REA có miễn phí không?
Mã của REA theo giấy phép MIT và miễn phí. Nhưng bạn phải có giấy phép hợp pháp cho các công cụ thương mại mà nó điều khiển như IDA Pro, Hopper hay JEB; REA không cấp quyền dùng chúng. Ghidra cũng dùng được như một động cơ phân tích.
Cài REA thế nào?
Cần Node.js và npm; chạy `npx rea-agents setup`, chọn agent, duyệt các thay đổi và khởi động lại agent. Dùng terminal thì cài `npm install --global rea-agents` rồi chạy `rea --help`.
REA có gửi ứng dụng của tôi lên máy chủ không?
Theo dự án, REA phân tích cục bộ, nhưng agent của bạn nhận kết quả công cụ và nhà cung cấp mô hình có chính sách dữ liệu riêng, nên nội dung kết quả có thể đi vào ngữ cảnh của mô hình.
Dùng REA có hợp pháp không?
Dùng REA có hợp pháp hay không phụ thuộc pháp luật và giấy phép của phần mềm cụ thể. Theo DISCLAIMER của dự án trên GitHub (kiểm tra 23/10/2026), REA dành cho nghiên cứu hợp pháp, giáo dục, khả năng tương tác, bảo tồn phần mềm và phân tích phần mềm bạn sở hữu hoặc được phép kiểm tra. Dự án không hỗ trợ ba nhóm việc: vượt DRM hoặc kiểm tra giấy phép, làm công cụ gian lận game, và vượt xác thực hay kiểm soát truy cập trên hệ thống bạn không được phép thử. Ngoài ra, bạn chịu trách nhiệm về những gì mình ra lệnh cho agent làm. Ví dụ, phân tích một ứng dụng do chính bạn viết bằng Claude Code (Anthropic) thuộc nhóm hợp lý hơn nhiều so với phân tích phần mềm thương mại để bỏ qua khoá bản quyền. OPCAIOS không đánh giá pháp luật Việt Nam về dịch ngược; hãy hỏi luật sư nếu cần. Muốn học cách ứng dụng AI an toàn cho công việc, xem khoá đào tạo ứng dụng AI của OPCAIOS.
Nguồn: README, DISCLAIMER, tài liệu cài đặt và giấy phép trong kho morluto/rea, trang rea.tools và gói npm rea-agents (kiểm tra 23/10/2026: khoảng 368.600 sao, phiên bản 6.7.0). Các kết quả nghiên cứu điển hình là do tác giả dự án công bố, chưa kiểm chứng độc lập; OPCAIOS chưa chạy thử REA. Bài này không phải tư vấn pháp lý.
Để lại bình luận
Email của bạn sẽ không hiển thị công khai. Bình luận sẽ hiển thị sau khi được duyệt.


