Hướng dẫn

Từ soi một nút bấm trên web, vẽ bản đồ API, mổ app Electron, đến tự build bản riêng của một app 15 USD/tháng. 7 use case REA có thật, công thức 3 bước và prompt tiếng Việt dùng ngay.

Cài REA xong rồi… giờ làm gì với nó? Đây là 7 cách vắt kiệt công cụ này, từ soi một nút bấm đến tự build app cho riêng mình.

Cài REA xong, gõ 'phân tích app này', nhận về một đống chữ dài mà chẳng biết dùng vào việc gì

  • 7 use case có thật, chia theo mục tiêu
  • Mỗi cái có prompt tiếng Việt copy được
  • Công thức 3 bước để AI không đoán bừa

Nếu bạn chưa biết REA là gì, đọc trước bài REA là gì mà dân dev phát sốt. Bài này đi thẳng vào phần “dùng”.

Chuẩn bị 5 phút trước khi khai thác

Bạn cần ba thứ: Node.js (bản 22.19+ hoặc 24.11+), một AI agent như Claude Code, Cursor hoặc Codex, và REA.

Bắt AI khai báo trước khi cài

Thay vì tự chạy lệnh, bạn có thể nhờ chính agent cài REA. Mẹo nhỏ: yêu cầu agent liệt kê chính xác những file nó sẽ sửa, rồi chờ duyệt mới làm.

cai-rea.txt
Cài REA (Reverse Engineer Anything) cho mình từ nguồn chính thức: gói npm rea-agents. Trước khi làm: 1. Kiểm tra phiên bản Node.js hiện có 2. Liệt kê chính xác từng file/cấu hình sẽ thay đổi 3. Chờ mình gõ “OK” rồi mới cài Cài xong thì chạy kiểm tra sức khoẻ và báo kết quả.
↳ Đòi danh sách thay đổi cụ thể, không chấp nhận một câu tóm tắt.

Hoặc tự gõ 1 lệnh

$ npx rea-agents@latest setup

Duyệt kế hoạch REA đưa ra, rồi khởi động lại agent. Trong Claude Code, gõ /mcp để thấy REA đã kết nối.

↳ REA tự sao lưu cấu hình cũ trước khi sửa.

Chọn đúng 'đồ nghề' cho mục tiêu

Soi web, app Electron, .NET thì không cần cài thêm gì. Riêng app native (file .exe, app Mac viết bằng Swift hay C++) thì cần một “máy dịch ngược”:

↳ Mới thử thì bắt đầu với web hoặc app Electron: không cần cài gì thêm.
Công cụ dịch ngược REA dùng cho app native
Công cụGiáHợp với ai
Ghidra Miễn phíMọi hệ điều hành, lựa chọn mặc định nên thử
Hopper Có bản demo (mỗi phiên tối đa 30 phút)Người dùng Mac; không có bản Windows
IDA Trả phíNgười đã sở hữu license

Công thức 3 bước dùng cho mọi use case

Gom các bài hướng dẫn REA chất lượng lại, sẽ thấy một nhịp làm việc lặp lại ở mọi nơi:

Sơ đồ công thức 3 bước khai thác REA: hỏi hẹp một tính năng, bắt AI lập file bằng chứng có nhãn đã thấy, suy ra, chưa biết, rồi build và tự kiểm thử với giới hạn số vòng sửa

Bước 1: Hỏi hẹp. Một mục tiêu, một câu hỏi. “Bấm Export thì app làm gì?” cho kết quả tốt hơn nhiều so với “phân tích cả app”.

Bước 2: Bắt AI lập file bằng chứng. Yêu cầu nó ghi ra một file .md, gắn nhãn cho từng phát hiện:

Danh sách “chưa biết” mà dài thì đừng build vội. Phần lớn sẽ là đoán mò.

Bước 3: Build và tự kiểm thử, có giới hạn. Bắt AI lập checklist, chờ bạn duyệt, rồi mới build. Sau đó để nó tự so sánh với bản gốc, và chốt tối đa 3–5 vòng sửa để không sa lầy.

Nhóm 1: Soi web và app, không cần cài thêm gì

Ba use case này hợp nhất để bắt đầu: không cần Ghidra, không đụng tới mã máy.

Use case 1: “Bấm nút này thì chuyện gì xảy ra?”

Khi nào dùng: bạn thích một hiệu ứng cuộn trang, một nút xuất file, một animation mượt hơn của mình, và muốn biết nó được làm thế nào.

soi-nut-bam.txt
Dùng REA soi trang link trang web đang mở trong Chrome. Mình sẽ bấm nút tên nút, ví dụ: Export. Cho mình biết: - Trang gửi những request nào, theo thứ tự - Script nào tạo ra các request đó - Bằng chứng cho từng kết luận, và điều gì bạn chưa xác định được Chỉ quan sát, không gửi form hay đăng nhập thay mình.

Kết quả mong đợi: danh sách request kèm script gây ra nó. Bạn hiểu luồng chạy mà không cần lục DevTools hàng giờ.

Use case 2: Vẽ bản đồ API từ file HAR

Khi nào dùng: bạn cần hiểu một web app (của bạn, hoặc bạn được phép tích hợp) đang gọi những API nào, ví dụ để viết tool tự động hoá.

HAR là file ghi lại toàn bộ lưu lượng mạng của trình duyệt. REA đọc file này ngoại tuyến, không gọi lại bất kỳ URL nào. Nó gom các request thành mẫu đường dẫn, ví dụ /orders/{numeric}, /users/{uuid}. Nó cũng tự loại bỏ cookie và token đăng nhập khỏi kết quả.

$ rea inspect-web-network-capture /duong-dan/phien.har har --json
ban-do-api.txt
Dùng REA đọc file HAR tại đường dẫn file .har. Lập bảng các nhóm API: phương thức, đường dẫn mẫu, mã trạng thái, kiểu dữ liệu trả về. Đánh dấu nhóm nào có vẻ liên quan đến tính năng cần tìm, ví dụ: xuất báo cáo. Không đưa bất kỳ cookie, token hay mật khẩu nào vào kết quả.

Minh hoạ: các request mạng từ trình duyệt được REA gom lại thành một bản đồ API gọn gàng

Use case 3: Mổ app Electron để hiểu một tính năng

Khi nào dùng: app desktop bạn dùng hằng ngày (Notion, Slack, VS Code…) có một tính năng hay, và bạn muốn biết nó chạy thế nào.

Ví dụ chính chủ trên trang REA: lần theo đường đi khi bạn copy một block trong Notion, để thấy vì sao dán sang chỗ khác vẫn giữ nguyên định dạng. Không cần Ghidra, vì app Electron về bản chất là JavaScript.

mo-app-electron.txt
Dùng REA phân tích app tên app tại đường dẫn cài đặt app. Mình muốn hiểu tính năng: mô tả, ví dụ: copy block giữ định dạng. Truy từng bước từ giao diện đến tiến trình chính (IPC), chỉ ra file và hàm liên quan. Ghi kết quả vào file tinh-nang.md, chia mục: Đã thấy / Suy ra / Chưa biết. Không mở file cài đặt cá nhân hay file license của app.

Nhóm 2: Build lại cho riêng mình

Đây là phần khiến REA “viral”. Hai case dưới đây lấy từ một tutorial build thật, đăng ngày 18/10/2026 trên newsletter của Rakhul.

Use case 4: Clone một luồng web, ví dụ trang đặt lịch kiểu Calendly

Tác giả cho AI đi qua trang đặt lịch công khai như một khách truy cập: chọn ngày, chọn giờ, mở form, nhưng không bấm gửi, và từ chối cookie. Kết quả là ba màn hình được vẽ lại, kèm các quy tắc: khung giờ làm việc theo tuần, slot 30 phút, cho đặt trước tối đa 60 ngày. Riêng quy tắc “phải đặt trước tối thiểu bao lâu” thì AI không đo được, và nó ghi thẳng là “chưa biết”.

Từ file bằng chứng đó, AI build một app đặt lịch có giao diện riêng, tên Openhour. Nó tự đặt thử một cuộc hẹn, rồi kiểm tra rằng đặt trùng giờ sẽ bị từ chối. Cuối cùng app được đưa lên Vercel. Việc đăng nhập và đặt mật khẩu thì người dùng tự làm, để AI không bao giờ thấy mật khẩu.

clone-luong-web.txt
Dùng REA đi qua trang link trang công khai như một khách truy cập. Thực hiện: các bước, ví dụ: chọn ngày → chọn giờ → mở form. KHÔNG bấm gửi, từ chối cookie. Lưu file bang-chung.md gồm: - Từng màn hình và trạng thái - Các quy tắc nghiệp vụ, gắn nhãn Đã thấy / Suy ra / Chưa biết - Dữ liệu app cần lưu Chưa build gì cả.

Mẹo từ tác giả: hãy bắt đầu với một trang web công khai. Không cần decompiler, không phải lo vụ license của phần mềm cài trên máy.

Use case 5: Dựng lại một tool desktop cho riêng mình

Case gây chú ý nhất: tác giả dựng lại một app Mac tự cắt khoảng lặng trong video, giá 15 USD/tháng.

  1. Điều tra (khoảng 20 phút): REA soi app đã cài, không phải website của nó. Kết quả: app viết bằng Tauri, đo khoảng lặng theo đỉnh âm thanh từng khung hình, và chỉ cắt khi mọi track micro đều im lặng.
  2. Lập checklist: AI chụp 58 ảnh màn hình mọi trạng thái, lập checklist từng tính năng, chờ tác giả gõ “Go”.
  3. Build và đối chiếu: bản clone tên Gapless, viết bằng Swift, tối đa 5 vòng sửa. Kết quả khớp bản gốc trên 18 điểm cắt, cùng ngưỡng tự động, và 114 clip xuất sang Premiere trùng nhau.

Sự cố đáng học: REA bị treo ở bước dùng Hopper, vì cửa sổ chào lần đầu của Hopper đang chờ người bấm. Cách xử lý: mở Hopper thủ công một lần trước.

Minh hoạ: bản app tự build được đối chiếu từng chi tiết với bản gốc

dung-lai-tool.txt
Dùng REA nghiên cứu app tên app đã cài trên máy (không phải website của nó). Tập trung vào: các tính năng cần hiểu. Lưu file bang-chung.md: tóm tắt 1 trang ở đầu, mỗi phát hiện gắn nhãn Đã thấy / Suy ra / Chưa biết. Không mở file cài đặt cá nhân, file license; không đóng app đang mở. Giới hạn khoảng 20 phút. Chưa build.

Lưu ý quan trọng: chính tác giả khuyên chỉ build để dùng cá nhân, không phát hành hay bán lại, và đọc kỹ điều khoản của app gốc trước. Nếu app có điều khoản cấm dịch ngược, hãy dừng.

Nhóm 3: Dùng REA để bảo vệ app của chính bạn

Ít người nói tới, nhưng đây có lẽ là nhóm hữu ích nhất với người làm sản phẩm.

Use case 6: Tự “tấn công” app của mình để tìm key bị lộ

Một bài test trên DEV Community cho thấy: làm rối code (obfuscate) hay biên dịch ra mã máy đều không giấu được key. AI vẫn lôi ra được. Vậy hãy để REA làm việc đó với app của bạn trước người khác.

tu-kiem-tra-app.txt
Mình là chủ sở hữu app tại đường dẫn file build. Dùng REA kiểm tra như một người ngoài không có mã nguồn: - Tìm API key, token, mật khẩu, URL nội bộ còn nằm trong bản build - Với mỗi phát hiện: vị trí cụ thể, mức độ nghiêm trọng, cách khắc phục - Ghi những gì chưa kiểm tra được Chỉ báo cáo, không sửa file.

Use case 7: So sánh hai phiên bản, truy lỗi crash

REA có sẵn các “kịch bản” chính chủ, gọi là guided prompt. Hai kịch bản đáng dùng:

so-sanh-phien-ban.txt
Dùng kịch bản compare_application_versions của REA để so sánh: - Bản cũ: đường dẫn bản cũ - Bản mới: đường dẫn bản mới Liệt kê thay đổi theo nhóm: tính năng, mạng/API, quyền truy cập, thư viện. Kèm bằng chứng cho từng thay đổi.

Bonus cho dân thích vọc: REA còn được dùng để giải thử thách CTF (tìm logic kiểm tra “cờ” trong file chạy), hoặc học cách game cũ hoạt động. Ví dụ chính chủ là game DX-Ball năm 1996, bản dựng lại khớp 3.205 trên 3.205 trường hợp kiểm thử.

6 mẹo để REA không “chém gió”

Mẹo tổng hợp từ các tutorial và tài liệu REA
MẹoVì sao
Một tính năng mỗi lần Câu hỏi rộng làm AI lan man và đốt token
Luôn đòi bằng chứng và danh sách 'chưa biết' Đó là chỗ bạn phải tự kiểm lại
Checklist + duyệt trước khi build Bắt lỗi kế hoạch sai từ sớm
Giới hạn 3–5 vòng sửa Tránh sa lầy chỉnh mãi không xong
Tự làm bước đăng nhập, mật khẩu, thanh toán AI không bao giờ nhìn thấy bí mật của bạn
Coi file lạ là nguy hiểm, nên chạy trong máy ảo File chạy có thể chứa chuỗi chữ cài sẵn để thao túng AI (prompt injection)

Thêm một lời nhắc: nếu thứ bạn muốn copy nhìn thấy được trên màn hình, như phong cách một video hay bố cục một trang, AI thường làm được mà không cần REA. Chỉ dùng REA khi cần nhìn “bên trong”.

Bỏ túi

0/5
túi còn trống
Mới dùng REA thì nên thử use case nào trước?

Soi một nút bấm trên web (use case 1) hoặc mổ app Electron (use case 3). Cả hai không cần cài thêm decompiler và cho kết quả nhanh.

Dùng REA có cần Ghidra không?

Chỉ khi phân tích app native như file .exe hoặc app Mac viết bằng Swift, C++. Website, app Electron và .NET thì REA tự đọc được.

Clone app trả phí bằng REA có hợp pháp không?

Tuỳ điều khoản của app và luật nơi bạn ở. Tác giả tutorial khuyên chỉ build để dùng cá nhân, không phát hành hay bán lại, và đọc kỹ điều khoản trước. Đây không phải tư vấn pháp lý.

File HAR có làm lộ mật khẩu không?

Bản thân file HAR có thể chứa cookie và token, nên đừng chia sẻ nó. Khi REA đọc HAR, nó tự loại các giá trị xác thực trong header và cookie khỏi kết quả.

Vì sao nên bắt AI ghi 'Đã thấy / Suy ra / Chưa biết'?

Nhãn này tách sự thật khỏi phỏng đoán. Danh sách 'chưa biết' dài nghĩa là bản build sẽ có nhiều chỗ đoán mò, nên cần điều tra thêm trước khi build.

REA có dùng được với Cursor, Codex không?

Được. Lệnh cài đặt hỗ trợ Claude Code, Codex, Cursor, Gemini CLI và nhiều agent khác có hỗ trợ MCP.

Nguồn tham khảo (10)