REA (Reverse Engineer Anything) là gì? Máy chủ MCP đạt 115.000 sao GitHub trong một tuần

REA là máy chủ MCP mã nguồn mở giúp coding agent kỹ thuật đảo ngược tệp nhị phân, ứng dụng và bản ghi mạng. Cài đặt, giới hạn và quy trình từ HAR sang Apidog.

Ashley Innocent

Ashley Innocent

13 tháng 10 2026

REA (Reverse Engineer Anything) là gì? Máy chủ MCP đạt 115.000 sao GitHub trong một tuần

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

REA, viết tắt của Reverse Engineer Anything, là một máy chủ MCP và CLI mã nguồn mở, cung cấp cho coding agent các công cụ để tháo gỡ phần mềm mà không cần mã nguồn. Hãy hướng Claude Code, Codex, Cursor hoặc một agent khác tới một tệp nhị phân native, ứng dụng Electron, assembly .NET, APK Android, trang web hoặc bản ghi mạng đã lưu, hỏi một tính năng hoạt động như thế nào, và REA sẽ trả về mã giả, đồ thị module, nhật ký yêu cầu cùng bằng chứng đằng sau mỗi nhận định. Sau đó, agent sẽ giải thích hành vi đó hoặc dựng lại nó.

Repository morluto/rea được tạo vào tháng 4 năm 2026 và gần như không ai để ý cho tới tuần đầu tiên của tháng 10. Đến ngày 12 tháng 10, nó đã vượt 115.000 sao và 25.000 fork, một trong những mức tăng nhanh nhất mà GitHub từng chứng kiến. Hướng dẫn này bao gồm REA làm gì, cách cài đặt, điểm mạnh của nó, nơi sự hô hào vượt xa thực tế, và phần mà hầu hết bài viết bỏ qua: REA đọc bản ghi HAR và mitmproxy, khiến nó trở thành front end cho kỹ thuật đảo ngược API mà bạn có thể hoàn tất trong Apidog.

nút

Những con số đằng sau làn sóng hô hào

Theo dõi hàng ngày của Trendshift cho thấy hình dạng của cú tăng vọt. REA lần đầu xuất hiện trong danh sách xu hướng ngày 4 tháng 10 với khoảng 1.400 sao mới trong một ngày. Sau đó, nó tăng trưởng kép suốt một tuần.

Ngày Sao mới trong ngày
4/10 1.373
7/10 5.602
9/10 19.375
10/10 26.572
11/10 31.255

Repository này giữ vị trí số một trên GitHub Trending trong năm trên bảy ngày từ ngày 6 đến 12 tháng 10. Các bản phát hành cũng không hề chậm: phiên bản 3.2 ra ngày 3 tháng 10, 4.0 ngày 5 tháng 10, 5.0 ngày 7 tháng 10, 6.0 ngày 8 tháng 10, và 6.1 tới 6.4 từ ngày 9 đến 11 tháng 10. Nhịp độ này quan trọng với bất kỳ ai muốn áp dụng, và chúng ta sẽ quay lại vấn đề sau.

Không một tweet hay bài đăng ra mắt riêng lẻ nào giải thích được cú nhảy. Chính thông điệp đã làm nên điều đó: “Nhìn thấy một tính năng bạn thích. Hiểu cách nó hoạt động, xuống tận cấp nhị phân.” Các video cho thấy agent dựng lại ứng dụng desktop từ tệp nhị phân của chúng lan truyền nhanh, cùng những tuyên bố quen thuộc rằng phần mềm đã kết thúc. Cách diễn giải hữu ích hơn cần hẹp hơn. REA là một connector được đóng gói tốt giữa agent và các công cụ kỹ thuật đảo ngược vốn đã tồn tại từ trước.

REA làm được gì

REA chạy như một máy chủ MCP cục bộ. Agent của bạn gọi công cụ của nó, REA kiểm tra mục tiêu bằng engine phù hợp, và agent nhận được các phát hiện có cấu trúc cùng giới hạn và những điểm chưa rõ. Các quy trình tương tự cũng có sẵn dưới dạng lệnh CLI, nên bạn có thể viết script mà hoàn toàn không cần agent.

Theo bảng mục tiêu trong README, REA phân tích những đối tượng sau:

Mục tiêu REA trả về Cần có
Tệp nhị phân native Mã giả, assembly, chuỗi, ký hiệu, tham chiếu chéo Hopper, Ghidra hoặc IDA
Tệp nhị phân Go Phiên bản trình biên dịch, module, cài đặt build Không cần thêm
Ứng dụng JavaScript và Electron Module, import, source map, route, ranh giới IPC Chỉ cần Node.js
Trang web Cấu trúc trang, script, quan sát mạng, ảnh chụp màn hình Một trình duyệt dòng Chrome
Bản ghi mạng đã lưu Yêu cầu, phản hồi, payload, vị trí nguồn HAR; mitmdump trên Linux cho mitmproxy
Assembly .NET Metadata, CIL, phụ thuộc native Không cần thêm
APK và thiết bị Android Manifest, phương thức đã dịch ngược, nhật ký, ảnh chụp màn hình JADX cùng JDK; adb
Firmware Vùng dữ liệu, kết quả trích xuất Binwalk hoặc Unblob trên Linux
Bytecode WASM và EVM Section, import và export, selector điều phối WABT; Linux x64

Lựa chọn thiết kế giúp REA khác với một wrapper mỏng chính là mô hình bằng chứng. Mỗi kết quả đều kèm nguồn gốc: digest tệp, khoảng byte, con trỏ JSON vào bản ghi, và danh sách rõ ràng những gì phân tích không thể xác định. Dự án lặp lại điều này trong tài liệu. Phân tích chạy trên máy của bạn, nhưng FAQ trong README nói thẳng rằng nhà cung cấp mô hình của agent vẫn nhận kết quả công cụ theo chính sách dữ liệu riêng của họ.

Cách cài đặt REA

Bạn cần Node.js 22.19 trở lên (23 và 25 không được hỗ trợ) và npm. Một lệnh sẽ đăng ký máy chủ MCP và cài đặt hướng dẫn skill tương ứng cho agent của bạn:

npx rea-agents setup

Quá trình cài đặt hiển thị kế hoạch, sao lưu cấu hình hiện có và chỉ ghi sau khi bạn phê duyệt. Theo hướng dẫn cài đặt, nó hỗ trợ Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, Antigravity, GitHub Copilot CLI, VS Code, Grok Build, Hermes và nhiều công cụ khác, mỗi công cụ có thể chọn bằng cờ --client. Sau đó hãy khởi động lại agent rồi hỏi nó điều gì đó như:

Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.

Đối với CLI toàn cục:

npm install --global rea-agents
rea doctor --json

Phân tích JavaScript tĩnh, .NET, trang web và bản ghi hoạt động mà không cần thêm engine. Phân tích native sâu cần Hopper, Ghidra 12.1 kèm JDK 21 trở lên, hoặc IDA. Trình cài đặt có thể cài Hopper nếu bạn phê duyệt, nhưng Hopper là phần mềm thương mại riêng với giấy phép riêng. Ghidra trên Windows được đánh dấu là thử nghiệm.

Điểm mạnh của REA qua các showcase

Các case study của chính dự án là chuẩn đo khách quan nhất. Trong nghiên cứu DX-Boll, agent lần theo một lời gọi âm thanh tới helper chuyển vị trí thành âm thanh hai kênh, chuyển mã giả chưa hoàn chỉnh thành C, và bản dựng lại đã vượt qua 3.205 test case x86 gốc trong khi tái hiện đủ 63 byte của hàm đã biên dịch. Trong nghiên cứu Notion, nó truy vết API clipboard từ renderer, qua preload và IPC, tới tiến trình chính của Electron. Một trường hợp khác khôi phục phép tính góc vòng đạn từ các lệnh 16 bit của một trò chơi PC-98 thập niên 1990.

Hãy chú ý quy luật. Đây là những câu hỏi phạm vi hẹp về một hàm hoặc một đường dữ liệu, kèm cách kiểm chứng câu trả lời. Đó là nơi kỹ thuật đảo ngược do agent dẫn dắt thực sự hiệu quả hôm nay. Các demo “dựng lại toàn bộ ứng dụng này” trông ấn tượng trên video và tạo ra thứ gì đó giống mục tiêu, nhưng một bài đánh giá sớm so sánh REA với agent thường trên một ứng dụng Mac đơn giản thấy khoảng cách rất hẹp và lần chạy REA chậm hơn. Giá trị thể hiện khi câu hỏi cụ thể và mục tiêu phức tạp.

REA cho công việc API: từ bản ghi tới đặc tả đã kiểm thử

Đây là phần liên quan tới bất kỳ ai xây dựng trên API. Công cụ inspect_web_network_capture của REA đọc tệp HAR (hoặc bản ghi mitmproxy native trên Linux) ngoại tuyến. Nó không bao giờ fetch lại các URL đã ghi. Nó xác thực từng mục, giữ nguyên thân yêu cầu và phản hồi cùng digest của chúng, và loại bỏ một cách có cấu trúc các header ủy quyền, cookie và thông tin xác thực trong URL khỏi bằng chứng.

Sau đó, nó làm điều mà bất kỳ đội API nào cũng nhận ra ngay. Truyền bằng chứng được giữ lại cho inspect_analysis_view với view api-surface, REA sẽ nhóm mọi yêu cầu theo phương thức, origin và mẫu đường dẫn suy luận. ID dạng số thành {numeric}, UUID thành {uuid}, chuỗi hex dài thành {hex}, ngày tháng thành {iso-date}. Mỗi nhóm trích dẫn các bản ghi nguồn và đánh dấu trạng thái hoặc loại nội dung không đồng nhất. Hướng dẫn về bản ghi mạng cẩn thận nêu rõ view này không đưa ra bất kỳ khẳng định nào về schema hay handler. Đó là danh mục suy luận, không phải đặc tả.

Danh mục đó chính xác là điểm khởi đầu cho quy trình trong hướng dẫn kỹ thuật đảo ngược API của chúng tôi, và Apidog hoàn tất nó:

  1. Ghi lại một lần. Trong Chrome DevTools, thực hiện lại luồng và lưu mọi yêu cầu thành HAR kèm nội dung. Hãy ghi bằng tài khoản thử nghiệm; HAR chứa token còn hiệu lực.
  2. Để agent lập bản đồ. Yêu cầu agent chạy REA trên HAR và tóm tắt API surface. Bạn nhận được danh sách endpoint, các mẫu ID và những cuộc gọi trả về lỗi, cùng con trỏ quay lại bản ghi gốc.
  3. Nhập chính tệp HAR đó vào Apidog. Apidog biến các yêu cầu đã ghi thành endpoint, kèm tùy chọn tạo test case mặc định cho từng endpoint và loại bỏ tài nguyên tĩnh khi nhập. Hướng dẫn nhập HAR của chúng tôi trình bày bước dọn dẹp.
  4. Nâng các mẫu suy luận thành tham số đường dẫn thực. Placeholder {numeric} và {uuid} của REA cho bạn biết phân đoạn nào cần tham số hóa trong định nghĩa endpoint trên Apidog.
  5. Mock và kiểm thử. Bật smart mock của Apidog để mã client có thể chạy trên API đã dựng lại trước khi bạn chạm vào API thật, rồi viết assertion theo hình dạng phản hồi đã ghi và chạy chúng từ Apidog CLI trong CI.

Phân công rất rõ ràng. REA giỏi đọc bằng chứng và giải thích nó. Apidog là nơi các endpoint trở thành hợp đồng được tài liệu hóa, mock và kiểm thử mà đội của bạn có thể chia sẻ. Không công cụ nào làm thay công việc của công cụ còn lại.

Lưu ý trước khi áp dụng

Tốc độ phát hành là con dao hai lưỡi. Bảy phiên bản phụ được phát hành trong chín ngày, và chính sách always-bump-minor của dự án nghĩa là bản nâng phụ vẫn có thể gây breaking change. Hướng dẫn迁移 sang 6.2 đã thay đổi hình dạng mọi kết quả MCP. Nếu bạn viết script dựa trên đầu ra JSON của REA, hãy ghim phiên bản và đọc changelog trước khi cập nhật.

Đây là connector, không phải sandbox. Chính sách bảo mật của dự án nêu rõ cầu nối provider cục bộ không phải sandbox và việc mở tệp nhị phân không đáng tin sẽ chạy phân tích với quyền người dùng của bạn. Hãy phân tích mục tiêu không đáng tin trong môi trường cách ly, giống như bạn cách ly lời gọi công cụ của bất kỳ agent nào.

Giới hạn nền tảng rất cụ thể. Giải mã mitmproxy native cần chính xác mitmdump 12.2.3, trên Linux, và bạn phải tự cung cấp. Các đường dẫn trích xuất firmware, EVM và WASM dành cho Linux x64. Hopper không có bản build Windows.

Trách nhiệm pháp lý vẫn thuộc về bạn. README giới hạn REA cho nghiên cứu, phân tích và dựng lại hợp pháp, đồng thời nói rằng bạn chịu trách nhiệm về việc được cấp quyền. Sao chép tính năng của đối thủ vẫn là câu hỏi pháp lý giống như trước khi công cụ này tồn tại. Dự án còn phải tuyên bố rằng mình chưa phát hành token nào và các đồng tiền dùng tên của nó không liên kết.

Còn sớm. Tại thời điểm viết, dự án có hơn 100 người đóng góp và hơn 170 issue cùng pull request đang mở. Tài liệu rất đầy đủ, nhưng hãy đoán trước những góc cạnh thô ngoài các lộ trình được giới thiệu.

Câu hỏi thường gặp

REA có miễn phí không? Có. Mã nguồn dùng giấy phép MIT và gói npm miễn phí. Hopper là sản phẩm trả phí nếu bạn chọn nó cho phân tích native; Ghidra miễn phí.

REA có tải ứng dụng hoặc tệp nhị phân của tôi lên không? Không. Phân tích chạy cục bộ. Kết quả công cụ được gửi tới mô hình mà agent của bạn dùng, nên chính sách dữ liệu của nhà cung cấp đó sẽ áp dụng.

Tôi có cần Ghidra hoặc IDA để bắt đầu không? Không cần cho phân tích JavaScript, Electron, .NET, trang web hoặc bản ghi. Chỉ dịch ngược tệp nhị phân native mới cần engine.

REA có thể tạo đặc tả OpenAPI từ lưu lượng không? Không. View api-surface là danh mục suy luận kèm mẫu đường dẫn. Hãy nhập HAR vào Apidog để có định nghĩa endpoint có thể chỉnh sửa, rồi xuất OpenAPI từ đó. Tải Apidog để thử nhập trên một bản ghi bạn đã có.

Kết luận dành cho bạn

REA xứng đáng với số sao nhờ đóng gói các engine kỹ thuật đảo ngược thực sự sau một máy chủ MCP duy nhất và tài liệu hóa bằng chứng mà nó trả về. Hãy dùng nó cho những câu hỏi có phạm vi rõ: một hàm hoạt động ra sao, kênh IPC nào mang một thông điệp, lưu lượng của ứng dụng trông thế nào. Hãy coi các demo dựng lại mọi thứ chỉ là demo.

Với các đội API, lợi ích thực tiễn là đường dẫn bản ghi. Hãy để agent đọc HAR bằng REA, sau đó nhập chính tệp đó vào Apidog và biến danh mục thành endpoint có thể mock, kiểm thử và tài liệu hóa.

nút

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API