morluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
Kết luận: partial · Công nghệ: agent-skills · ai-agent-tools · ai-agents · binary-analysis · cli
Reverse engineer anything with agents, from app behavior down to native binaries.
📖 Giới thiệu chi tiết
🧩 Nó là gì?
morluto/rea (viết tắt của Reverse Engineer Anything) là một công cụ giúp trợ lý lập trình AI của bạn (như Cursor, Claude Code...) có khả năng "mổ xẻ" và đọc hiểu mã nguồn của bất kỳ phần mềm nào, kể cả khi bạn không hề có mã nguồn gốc trong tay.
🎯 Giải quyết vấn đề gì? Dành cho ai?
- Vấn đề giải quyết: Khi bạn thấy một tính năng rất hay trong một ứng dụng đóng mã nguồn (closed-source) và muốn biết cách họ làm ra nó, việc tự mở mã máy hay file nhị phân (binary) ra dịch ngược thủ công là cực kỳ khó và tốn thời gian.
morluto/reagiúp tự động hóa toàn bộ việc này bằng cách để AI trực tiếp phân tích, đưa ra bằng chứng và thậm chí tái tạo lại tính năng đó cho dự án của bạn. - Dành cho ai:
- Lập trình viên: Muốn học hỏi giải thuật, kiến trúc hoặc cách vận hành của các ứng dụng thực tế để áp dụng vào sản phẩm của mình.
- Người nghiên cứu bảo mật (Security Researcher/Pentester): Cần soi mã nhị phân, kiểm tra lỗ hổng hoặc hành vi ngầm của ứng dụng.
- Bất kỳ ai tò mò về kỹ thuật: Muốn nhờ AI "nhìn xuyên thấu" các ứng dụng desktop, mobile hoặc web có sẵn.
⚙️ Hoạt động ra sao?
- Cầu nối MCP (Model Context Protocol): REA hoạt động như một máy chủ trung gian chuẩn hóa, cho phép các AI agent gửi lệnh kiểm tra và nhận dữ liệu từ các công cụ dịch ngược chuyên dụng.
- Phân tích đa tầng tại máy cục bộ (Local): Tùy loại ứng dụng, REA sẽ quét file trực tiếp (với JavaScript, .NET, website) hoặc phối hợp với các phần mềm dịch ngược chuyên sâu như Hopper, Ghidra, IDA (với file nhị phân gốc C/C++, Go...). Mọi dữ liệu đều được phân tích trên máy của bạn.
- Cung cấp bằng chứng cụ thể: Thay vì để AI "đoán mò" (hallucination), REA trích xuất chính xác mã giả (pseudocode), chuỗi ký tự, luồng gọi hàm và gửi kèm bằng chứng xác thực về cho AI.
- AI tổng hợp và tái lập trình: AI đọc các bằng chứng từ REA, giải thích cặn kẽ cơ chế cho bạn và có thể viết mã mới tương đương cho dự án của bạn.
🆚 Khi nào nên dùng / không nên
- Nên dùng khi:
- Bạn muốn phân tích logic của một phần mềm đóng gói sẵn (file
.exe, file.apk, ứng dụng Electron hay file nhị phân) mà không có mã nguồn. - Bạn muốn tiết kiệm thời gian đọc mã máy phức tạp bằng cách để AI đọc và trích xuất logic trọng tâm.
- Bạn muốn phân tích logic của một phần mềm đóng gói sẵn (file
- Không nên dùng khi:
- Phần mềm mục tiêu đã là mã nguồn mở (Open Source): Đọc trực tiếp code hoặc tài liệu trên GitHub sẽ nhanh và chuẩn xác hơn nhiều.
- Bạn chỉ làm các tác vụ lập trình thông thường trong dự án cá nhân (không cần can thiệp hay phân tích phần mềm bên ngoài).
- Vi phạm các quy định pháp lý, bản quyền hoặc điều khoản dịch vụ của bên sở hữu phần mềm.
🚀 Bắt đầu nhanh
Yêu cầu tối thiểu: Máy đã cài Node.js (phiên bản 22 trở lên) và npm.
Bước 1: Cấu hình REA với AI agent của bạn
Chạy lệnh sau trong terminal để tự động liên kết REA với các agent được hỗ trợ (như Cursor, Claude Code...):
npx rea-agents setup
Bước 2: Ra lệnh cho AI trong khung chat
Sau khi khởi động lại agent, bạn chỉ cần ra lệnh bằng ngôn ngữ tự nhiên:
Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.
Bước 3 (Tùy chọn): Dùng trực tiếp qua terminal
Nếu muốn tự quét nhanh một ứng dụng JavaScript/Electron đã giải nén:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
✅ Điểm mạnh & ⚠️ Hạn chế
✅ Điểm mạnh:
- Hỗ trợ cực kỳ đa dạng: Đọc được từ ứng dụng Web, JavaScript/Electron, Android APK, .NET cho đến file nhị phân native (C, C++, Go, WASM).
- Bằng chứng rõ ràng: AI đưa ra kết luận dựa trên code và dấu vết thực tế trích xuất được, hạn chế tối đa việc bịa đặt thông tin.
- Tích hợp liền mạch: Hoạt động mượt mà với hầu hết các trợ lý AI phổ biến hiện nay thông qua giao thức MCP.
- Chạy nội bộ: Dữ liệu phân tích nằm tại máy của bạn, giúp chủ động kiểm soát tính bảo mật.
⚠️ Hạn chế:
- Cần công cụ bên ngoài cho mã native: Để dịch ngược sâu các file nhị phân phức tạp, bạn vẫn cần cài đặt thêm các công cụ chuyên biệt như Ghidra, Hopper hoặc IDA.
- Yêu cầu môi trường Node.js mới: Đòi hỏi Node.js phiên bản tối thiểu là 22.x trở lên.
- Rào cản pháp lý: Người dùng cần hiểu rõ ranh giới pháp lý và quy định về bản quyền trước khi tiến hành dịch ngược ứng dụng thương mại.