REA: reverse engineer ứng dụng bằng AI agent, và điều DISCLAIMER của dự án nói

Giới thiệu REA, cách cài với Hopper và demo dựng lại một app giọng nói, kèm đối chiếu với DISCLAIMER.md không hỗ trợ sao chép phần mềm độc quyền.

Đã duyệt độc lập · cập nhật 17/10/2026 · 9 min

1. Lời hứa mở đầu và con số về repo

Lưu ý về phạm vi. Tiêu đề video và phần demo nhắm vào việc dựng bản sao của một sản phẩm thương mại có thật. Còn file DISCLAIMER.md của chính dự án REA nói dự án được làm cho phân tích hợp pháp (nghiên cứu bảo mật, phân tích malware, interoperability, bảo tồn phần mềm, debug hoặc audit phần mềm mà bạn sở hữu hoặc được phép xem xét) và không hỗ trợ việc "copying proprietary software or reproducing its protected code and assets". Hai điều này mâu thuẫn nhau. Trang này chỉ kể lại video ở mức REA làm gì, không phải hướng dẫn sao chép phần mềm của người khác.

Eric mở đầu bằng một repo tên Reverse Engineer Anything (viết tắt REA), theo anh là cách để reverse engineer ứng dụng bằng AI với độ chính xác cao nhất. Anh nói repo vượt 60.000 star trên GitHub chỉ vài ngày sau khi ra mắt. Trên màn hình lúc anh giới thiệu, thẻ repo morluto/rea hiện 70,9 nghìn star và 14,9 nghìn fork. Đây là số trong video, đăng ngày 11/10/2026. Đo trên GitHub ngày 17/10/2026, repo có khoảng 307 nghìn star.

Thẻ repo morluto/rea, Reverse Engineer Anything, 70,9 nghìn star, 14,9 nghìn fork
Thẻ repo morluto/rea với mô tả "Reverse Engineer Anything", 70,9 nghìn star và 14,9 nghìn fork vào lúc quay video.

Anh kể rằng có người đã dùng nó để "clone" các ứng dụng như Adobe Premiere và Photoshop. Phần thú vị nhất, theo anh, là nó reverse engineer được nhiều loại ứng dụng: desktop app, game, web app, thậm chí mobile app.

Biểu tượng Wispr Flow dấu bằng ứng dụng tên Utter có nhãn Local, ghi chữ clone, cùng thẻ morluto/rea
Hình minh họa trong phần mở đầu: Wispr Flow ở bên trái, ứng dụng tên Utter (nhãn Local) ở bên phải với chữ "clone", phía dưới là thẻ repo morluto/rea.

Anh nói trong video sẽ trình bày REA là gì, nó hoạt động thế nào phía sau, và cách anh "clone" Wispr Flow, một app anh dùng mỗi ngày, "giống hệt". Phần demo này chính là chỗ video mâu thuẫn với DISCLAIMER.md của dự án (xem lưu ý ở đầu mục này).

2. REA là gì

Eric đọc lại phần mô tả của repo: giả sử bạn thấy một tính năng mình thích, dù là desktop app, web app hay mobile app, REA sẽ đi xuống tới mức binary, hiểu chính xác ứng dụng chạy thế nào, rồi đưa cho AI nhiều context hơn để cho ra kết quả chính xác hơn.

Sơ đồ What REA can read: desktop app và game, JavaScript và Electron, website, Android APK, .NET app, firmware đi vào Claude + REA, rồi How it works, rồi Build
Các nguồn REA đọc được (desktop app và game, JavaScript và Electron, website, Android APK, .NET app, firmware) đi vào Claude cùng REA, ra phần giải thích cách nó chạy, rồi tới bước build.

Anh nối ý này với một cách làm đã có từ trước REA: trước khi để AI build ứng dụng với độ chính xác cao nhất, cần nhiều context hơn, và context là chìa khóa. Anh nói REA làm đúng việc đó: muốn dựng lại thứ gì thì phải cho AI nhiều context hơn, và nó đưa thêm bằng chứng về cách ứng dụng chạy phía sau, nhờ đó bước build chính xác hơn.

Về phạm vi, README của REA nói công cụ chạy phân tích cục bộ và kết quả kèm bằng chứng cùng giới hạn của từng kết luận. Còn DISCLAIMER.md liệt kê mục đích hợp pháp (security research, malware và incident analysis, nghiên cứu lỗ hổng, CTF và giáo dục, interoperability, bảo tồn phần mềm, debug hoặc audit phần mềm của bạn hay được phép xem xét) và các việc dự án không hỗ trợ: vượt qua DRM hoặc license check, làm cheat game, vượt xác thực của hệ thống bạn không được phép thử, và sao chép phần mềm độc quyền hay tái tạo code và asset được bảo hộ.

3. REA hoạt động ra sao phía sau

Eric giải thích bằng một sơ đồ: có thể coi REA như một skill. Skill này đi kèm nhiều công cụ MCP, ví dụ Hopper cho desktop, JavaScript hoặc browser cho web app, rồi các công cụ cho mobile app và phần cứng. REA là skill dạy AI agent cách dùng những công cụ đó để thu thập thông tin từ chính ứng dụng.

Sơ đồ How REA works: Agent hỏi REA (MCP), REA gọi Hopper, Ghidra, IDA, JS analyzer, Browser, kết quả thành Evidence rồi quay lại Agent dưới dạng Findings
Agent hỏi REA, REA chuyển câu hỏi cho Hopper, Ghidra, IDA, JS analyzer hoặc Browser, các công cụ này trả về Evidence, và Findings quay lại agent.

Anh kết luận phần này bằng việc chuyển sang cài đặt: giờ đã biết REA là gì và chạy ra sao, tiếp theo là thiết lập và xem độ chính xác khi dùng nó với một ứng dụng anh đang dùng hằng ngày.

4. Cài đặt: Node, một lệnh setup, chọn agent

Bước đầu tiên Eric làm là chạy một lệnh trong một repo. Trước đó anh khuyên kiểm tra phiên bản Node bằng cách gõ node, và nói yêu cầu là phiên bản 24 trở lên. Nếu cần nâng cấp, anh dùng Homebrew để nâng Node lên bản mới nhất.

Sau đó anh copy lệnh từ README của repo, dán vào terminal. README ghi mục "Set up your agent" với dòng lệnh dưới đây, kèm giải thích: chọn agent của bạn, xem các thay đổi được đề xuất và duyệt, setup thêm MCP server của REA cùng workflow instruction và có sao lưu cấu hình cũ, rồi khởi động lại agent.

npx rea-agents setup
README của REA, mục Quick start, Set up your agent, lệnh npx rea-agents setup
Mục Quick start trong README: "With Node.js and npm installed, run: npx rea-agents setup", kèm danh sách agent được hỗ trợ (Claude Code, Codex, Cursor, Gemini CLI, Grok Build và các agent khác).

Lệnh chạy trên máy cục bộ. Việc đầu tiên nó hỏi là chọn AI agent bạn dùng. Eric chọn Claude Code và Codex, và nói bạn có thể chọn OpenCode hay bất kỳ harness AI agent nào khác.

5. Hopper và năm thay đổi cần duyệt

Bước kế tiếp trong setup là cài Hopper để phân tích binary sâu. Eric mô tả Hopper như một công cụ bên thứ ba mà REA dùng. Anh giải thích bằng ý thông thường: lập trình viên viết source code, source code làm ứng dụng chạy. Vì ở đây là reverse engineer, REA dùng Hopper để phân tích ứng dụng làm gì và đổi các yêu cầu của ứng dụng thành những chỉ dẫn mà AI agent có thể dùng. Anh chọn yes để cài.

Cài Hopperphân tích binary Thêm vào agentClaude Code, Codex Skill reverse engineeringhướng dẫn agent dùng tool tổng cộng 5 thay đổi, Eric chọn "yes, apply"
Hình 5.1Màn hình duyệt thay đổi của setup: cài Hopper, thêm REA vào từng agent đã chọn (Claude Code và Codex), cài skill reverse engineering. Eric đọc ra tổng cộng năm thay đổi và chọn apply cho cả hai agent.

Màn hình xin áp dụng năm thay đổi: cài Hopper, thêm REA vào Claude Code và Codex, và cài các skill reverse engineering. Eric chọn yes. Ngay sau đó cửa sổ Hopper Disassembler bật ra, anh bấm "Try the Demo" và chọn kiểm tra tự động. Khi xong, anh nói mọi thứ đã cài đủ: phân tích sâu, reverse engineering, tất cả sẵn sàng.

6. Mở Claude Code và đưa ra yêu cầu

Giữa chừng Eric dừng lại để nói về cộng đồng riêng của anh, và mời người xem tham gia.

Sau đó, anh nói giờ có thể mở Claude Code và nhờ nó giải thích một ứng dụng bất kỳ, và nó sẽ cố đưa ra bằng chứng về cách ứng dụng chạy. Anh xóa terminal, gõ claude, rồi đưa một prompt đã chuẩn bị sẵn trong editor.

Ứng dụng anh nhắm tới là Wispr Flow, một app chuyển giọng nói thành văn bản chạy trên desktop của anh, bấm biểu tượng hoặc dùng phím tắt là nó chuyển lời nói thành chữ, và còn chuyển được cả ghi chú cuộc họp. Anh dán prompt đã soạn sẵn, nhắm vào ứng dụng đó, vào Claude Code và để nó chạy phần còn lại.

Đây là chỗ cần nhắc lại: Wispr Flow là sản phẩm thương mại có thật, và DISCLAIMER.md của REA nói dự án không hỗ trợ sao chép phần mềm độc quyền hay tái tạo code và asset được bảo hộ. Trang này không tái hiện từng bước hay nội dung prompt để làm việc đó.

7. Kết quả trong demo của Eric

Khi Claude Code xong, Eric mở ứng dụng nó dựng ra và nói đó là bản "clone y hệt" Wispr Flow trên desktop của anh. Trên màn hình, app tên Utter kèm nhãn Local, thanh bên có ba mục: Dictation, Notetaker và Settings. Trong app có toàn bộ các đoạn hội thoại anh đã nói, và mục Notetaker liệt kê các ghi chú đã lưu: anh có thể xem toàn bộ phiên âm hoặc phần tóm tắt nếu muốn.

Ứng dụng Utter bản Local, mục Notetaker liệt kê phiên âm cuộc họp tách thành You và Others
Mục Notetaker của ứng dụng tên Utter: dòng mô tả nói các bản ghi trực tiếp của cuộc họp được tách thành phần của bạn và phần của người khác, kèm danh sách bản ghi theo giờ.

Anh thử phím tắt Option cộng 1 để bắt đầu ghi mới, thấy chữ hiện lên và nói được nhiều ngôn ngữ, ví dụ tiếng Anh và tiếng Trung trong cùng một ô nhập. Anh nhận xét app rất nhanh, không bị trễ khi tải, và phiên âm chạy ngay trên máy nên giọng nói không đi lên internet. Kết luận của anh: ứng dụng đã dùng công cụ reverse engineering để phân tích cách app gốc chạy, rồi tạo ra phiên bản tương tự bằng AI agent.

Đây là kết quả theo lời Eric trong video. Video không cho thấy kiểm chứng độc lập nào về mức độ giống nhau, và REA cũng nói rõ trong DISCLAIMER.md rằng kết quả phân tích có thể thiếu hoặc sai, và việc có được kết quả kiểu source không trao quyền nào đối với chương trình gốc.

8. Quan điểm cuối: code không còn là moat

Eric chốt bằng quan điểm riêng: anh thấy điều này sẽ mang tính cách mạng, vì với ứng dụng, code không còn là moat. Moat là thương hiệu, người dùng thật và dữ liệu.

Trang chủ PhotoCraft: The image editor you already know how to use, native app viết hoàn toàn bằng Rust, mã nguồn mở, ngoại tuyến
Trang PhotoCraft mà Eric nêu làm ví dụ: "The image editor you already know how to use", mô tả layers, masks, adjustment layers, vector và brush trong một ứng dụng native viết hoàn toàn bằng Rust, mã nguồn mở.

Ví dụ anh đưa ra là PhotoCraft, một dự án đang viral. Theo anh, nó nhân bản cả bộ công cụ Adobe, gồm Premiere và Photoshop, bằng Rust, và Rust nhanh hơn nhiều ngôn ngữ khác. Anh nói nó làm được một đối một với nhiều công cụ người ta dùng hằng ngày. Đây là mô tả của Eric, không phải điều trang này đã kiểm chứng.

Anh nhắc người xem cũng nên xây thương hiệu và marketing tốt hơn, vì thương hiệu mạnh là thứ người khác không lấy đi được. Anh nói những chủ đề này (thương hiệu, marketing, xây ứng dụng, mở rộng kinh doanh) được bàn trong cộng đồng của anh. Cuối video anh giới thiệu một video khác về 40 skill marketing mà anh đã xem xét, rồi mời đăng ký kênh.

Nguồn và liên kết 6 nguồn

  1. Tên gốc: How To Use REA To Clone Any Software In Minutes
  2. Sự kiện: YouTube
  3. Video gốc: https://www.youtube.com/watch?v=FnB9tHKBJXQ youtube.com
  4. Kênh YouTube Eric Tech (Eric Tech): youtube.com/channel/UCOXRjenlq9PmlTqd_JhAbMQ youtube.com
  5. Repo REA (Reverse Engineer Anything), giấy phép MIT: github.com/morluto/rea github.com
  6. DISCLAIMER.md của REA, nêu mục đích hợp pháp và những việc dự án không hỗ trợ: github.com/morluto/rea/blob/main/DISCLAIMER.md github.com