Tôi dùng REA top 1 GitHub để mổ xẻ Feishu, chạy song song nhiều Feishu chỉ trong 6 phút

Chuyên mục: WaytoAGI · AIHOT.VN · Tác giả / Nguồn: · Cập nhật:

Tóm tắt cốt lõi: Model Muse Wonder hoàn toàn mới của Meta mang đến năng lực chủ động ghi nhớ (Active Memory) ấn tượng, phá vỡ hạn chế chỉ lưu trữ văn bản hội thoại của AI truyền thống, có thể truy xuất các sở thích trong quá khứ của bạn để trực tiếp tham gia vào việc ra quyết định. Lão Kim lấy ví dụ qua các bản demo như lên kế hoạch chạy đường dài, sắp xếp chỗ ngồi đám cưới, tùy chỉnh áo thun, kết hợp cùng năng lực Active Focus để vẫn duy trì tính cá nhân hóa của bạn xuyên suốt quá trình thực thi trên nhiều công cụ.

Link bài viết gốc: https://mp.weixin.qq.com/s/RVcQPH9CuU_G-...

Tiến hóa luận Công cụ AI · Official Account · Tiến hóa luận Công cụ AI · 2026-10-15 12:24

Bài viết này được chia sẻ lại, bản quyền thuộc về tác giả gốc, toàn văn căn cứ theo link bài gốc

Trên máy tính của tôi lúc này đang mở đồng thời hai ứng dụng Feishu, đăng nhập vào hai tài khoản khác nhau.

Bản Mac client của Feishu bình thường chỉ mở được một cửa sổ. Còn bản 「Feishu 2」 này là do AI làm xong cho tôi chỉ trong vòng 6 phút.

Công cụ mà nó sử dụng có tên là REA, dự án hot nhất trên GitHub dạo gần đây. Ngày 5 tháng 10 nó mới có khoảng 4.200 star, mà đến hôm nay, ngày 15 tháng 10, đã lên tới 246.000.

Bài viết này trước tiên sẽ kể lại quá trình tôi dùng nó để mổ xẻ Feishu, sau đó bàn về lý do tại sao nó lại bùng nổ, và cộng đồng đang tranh cãi điều gì.


REA dùng để làm gì?

REA là viết tắt của Reverse Engineer Anything – dịch ngược mọi thứ.

Slogan của nó viết thế này: «See a feature you like. Understand how it works, down to the binary level.» Thấy một tính năng bạn thích, hãy tìm hiểu xem nó hoạt động thế nào, đào sâu đến tận tầng binary.

Về mặt kỹ thuật, nó là một MCP server, cộng thêm một bộ Skill dành cho agent. Sau khi cài đặt xong, Claude Code, Codex của bạn sẽ có thêm cả một toolbox dịch ngược hoàn chỉnh, có thể mổ xẻ ứng dụng native, ứng dụng desktop Electron, website, file APK Android và nhiều thứ khác.

Điểm mấu chốt là, Không cần đến mã nguồn.


Bước 1: Cài đặt REA cho Codex, mổ xẻ Feishu

Tôi từng làm product tại Feishu vài năm, nên thứ đầu tiên muốn mổ xẻ dĩ nhiên là nó.

prompt tôi giao cho Codex chỉ vỏn vẹn một câu:

https://github.com/morluto/rea[1]Cài cái này vào, rồi phân tích Feishu giúp tôi

Đầu tiên nó hỏi tôi muốn tập trung xem phần nào, tôi chọn «Kiến trúc client và triển khai tính năng».

4 phút 34 giây sau , REA đã cài xong, MCP cho Codex cũng đã được cấu hình hoàn tất, và báo cáo phân tích đợt đầu tiên xuất hiện ngay sau đó.

Vài phát hiện trong báo cáo khá thú vị:

  • Kiến trúc hỗn hợp : Một lớp vỏ macOS native, bên trong chạy môi trường Web đa tiến trình, các trang nghiệp vụ được tách theo module, bên dưới còn có một loạt thư viện năng lực native
  • Tổ chức dạng module : 25 gói ASAR, 33 module đã đăng ký, 382 entry point mở rộng; tin nhắn, tài liệu, lịch, email, Doubao, mỗi thứ đều là một module riêng biệt
  • Cầu nối clipboard : Thao tác copy-paste trong trang web sẽ được đóng gói thành một message có đánh số gửi tới host, khi phản hồi về sẽ dựa theo số thứ tự đó để tìm callback tương ứng
  • Phân luồng request : Request từ SDK do trang gửi ra sẽ lần lượt được kiểm tra xem nên đi qua custom handler, JS SDK được inject, hay một kênh có tên là rust

Nó còn vẽ cả sơ đồ luồng:

Điểm tôi thích nhất là báo cáo rất thành thật nêu rõ ranh giới giới hạn của mình.

Chẳng hạn định danh package ghi là com.electron.lark , nó đã đặc biệt lưu ý: Không thể chỉ dựa vào mỗi trường dữ liệu này mà khẳng định Feishu là Electron tiêu chuẩn. Trong mã nguồn có một kênh tên là rust, nó cũng nói rõ: Không thể dựa vào đó để quả quyết thư viện nào được viết bằng Rust. Những gì đã truy vết được, những gì chưa truy vết được, cuối cùng đều được liệt kê thành một bảng.

Cả quá trình không hề khởi động Feishu, không đụng tới dữ liệu tài khoản, cũng không đọc nội dung chat.


Bước 2: 6 phút để chạy song song nhiều Feishu

Chỉ nhìn mỗi kiến trúc thì chẳng có gì thú vị, tôi muốn để nó làm chút việc thực tế.

Bình thường tôi có nhiều tài khoản Feishu, client chính thức chỉ cho mở một cái, chuyển qua chuyển lại rất phiền phức. Thế là tôi yêu cầu nó dựa trên phân tích ban nãy để tạo giải pháp chạy song song nhiều Feishu.

6 phút sau , trên thanh Dock của tôi xuất hiện thêm một ứng dụng 「Feishu 2」. Nhấp đúp chuột mở ra, đó là một trang quét mã đăng nhập hoàn toàn mới.

Quét mã, đăng nhập tài khoản thứ hai. Hai ứng dụng Feishu mở cạnh nhau, mỗi bên đăng nhập một tài khoản riêng, y như bức hình ở đầu bài viết.

Cách nó làm, sau khi đọc phần giải thích, tôi thấy khá thông minh:

  1. Feishu lưu dữ liệu và một «khóa single-instance» trong thư mục có tên LarkShell . Khi bản Feishu thứ hai khởi chạy, phát hiện khóa đã bị chiếm giữ nên sẽ không mở thêm bản nào nữa
  2. AI đã nhân bản một bản Feishu, đổi tên thành 「Feishu 2」, và thay đổi định danh ứng dụng
  3. Sau đó, trong 15 file native của bản sao, nó thay thế 18 chỗ LarkShell thành LarkDual2 . Hai từ có cùng số lượng ký tự, nên sau khi thay thế độ dài của file binary không bị đổi, tránh làm hỏng chương trình
  4. Bằng cách này, 「Feishu 2」 có thư mục dữ liệu riêng và khóa riêng của mình, hai bên hoạt động độc lập không can thiệp vào nhau
  5. Tắt tính năng tự động cập nhật của bản sao, tránh trường hợp bản chính thức cập nhật sẽ ghi đè mất bản vá
  6. Cuối cùng là ký số lại toàn bộ từ trong ra ngoài

Sửa xong, nó còn tự thực hiện nghiệm thu: Cả hai ứng dụng đều được hệ điều hành nhận diện là chạy độc lập, khóa của mỗi ứng dụng ứng với tiến trình riêng, đã dùng lsof để kiểm tra và xác nhận không có hành vi đọc ghi chéo vào thư mục dữ liệu của nhau. Kiểm tra chữ ký số của Feishu gốc đã vượt qua, mã hash của chương trình chính y hệt như trước khi sửa.

Bản Feishu gốc không hề bị động chạm dù chỉ một byte. Nếu không muốn dùng nữa, chỉ cần xóa 「Feishu 2」 đi là xong.

Còn một chi tiết cần phải nói thật: Trong phần giải thích, nó ghi rõ ý tưởng kỹ thuật được tham khảo từ một dự án mã nguồn mở có tên feishu-clone trên GitHub. Nhưng nó không chạy thẳng script tải về, mà tự viết lại một bộ script build hoàn chỉnh có kèm backup, bổ sung đầy đủ các bước xử lý chữ ký số và nghiệm thu.

Nói thật, dù đã có người làm thứ tương tự trước đó, nếu để tự tôi làm từ khâu tìm tài liệu, đọc hiểu, sửa đổi, ký số cho tới khi chạy thông suốt, thì chắc chắn mất không dưới nửa ngày.


Hai cảm nhận của tôi sau khi mổ xẻ xong

Thứ nhất, rào cản thực sự đã biến mất.

Tôi không hiểu gì về chữ ký số macOS, cũng chưa từng động vào việc thay thế binary. Cả quá trình, tôi chỉ đưa ra đúng hai yêu cầu.

Trước đây làm product khi nghiên cứu đối thủ, chúng tôi chỉ có thể nhìn giao diện, xem tương tác, đọc tài liệu trợ giúp rồi đoán xem phía sau họ triển khai thế nào. Giờ đây ta có thể trực tiếp nhìn thấy cách triển khai, thậm chí còn tự tay sửa đổi được.

Thứ hai, REA và model bên nào đóng góp nhiều công sức hơn, điều này rất khó nói.

Tôi lật lại báo cáo của nó, phần phân tích JS của bản thân REA thực chất chỉ chọn 4 file, kết quả thống kê đối với IPC tiêu chuẩn của Electron là 0. Hai luồng cầu nối clipboard và phân luồng request chủ yếu do Codex trực tiếp đọc code rồi truy vết ra. Báo cáo cũng thành thật ghi rõ điểm này.

Vì vậy, cách hiểu của tôi là: REA cung cấp một bộ công cụ và phương pháp luận có sẵn, giúp tiết kiệm thời gian dựng môi trường; nhưng để hoàn thành công việc một cách xuất sắc thì yếu tố cốt lõi vẫn phải là bản thân model.

Điểm này cũng là chủ đề tranh cãi suốt thời gian qua trên HN.


Tại sao nó lại đột nhiên hot đến vậy?

REA thực ra đã xuất hiện từ trước.

Kho lưu trữ đã được tạo từ tháng 4. Tháng 7, tác giả đăng một bài Show HN trên Hacker News, được 3 điểm, chẳng ai màng tới. Package npm trong suốt cả tháng 9 chỉ có vỏn vẹn 480 lượt tải.

Thế rồi, một chuỗi sự kiện liên tiếp diễn ra:

Tháng 9, Claude Opus 5.5 ra mắt. Cộng đồng phát hiện khả năng dịch ngược của thế hệ model này mạnh đến mức khó tin.

Đầu tháng 10, làn sóng AI dịch ngược game ập đến. Chỉ trong vài tuần, hàng trăm tựa game cũ phiên bản trình duyệt đã xuất hiện: Call of Duty: Black Ops, Halo, GTA: Vice City... Có game vừa lên vài tiếng đã bị gỡ xuống, nhưng rất nhanh sau đó lại có cái mới mọc lên. Có người ví von: Cứ treo Opus 5.5 qua đêm, sáng ra là game đã được dịch ngược xong xuôi.

Ngày 10 tháng 10, REA leo lên top 1 GitHub Trending. Bài đăng chính trên HN đạt 804 điểm, 337 bình luận. Ngày 11 tháng 10 tăng thêm 25.000 star chỉ trong một ngày, ngày 12 tháng 10 lượt tải npm trong một ngày đạt 103.000 lượt.

Ngày 13 tháng 10, Microsoft thông báo thành lập Xbox Labs. chuyên nghiên cứu việc dịch ngược và biên dịch lại game. CEO Xbox Asha Sharma chia sẻ rằng những thử nghiệm này «thách thức giả định bấy lâu của ngành công nghiệp: sự ràng buộc giữa phần mềm và phần cứng, cũng như ranh giới giữa sáng tạo và chơi game».

Năng lực của model đã đạt độ chín muồi, mọi người lại tận mắt chứng kiến AI có thể mổ xẻ game. Đúng lúc này lại xuất hiện một công cụ giúp «kết nối bộ toolbox dịch ngược vào agent chỉ bằng một dòng lệnh», tên gọi lại là «Dịch ngược mọi thứ».

Không hot mới là lạ.


3 vấn đề gây tranh cãi trên HN

1. Mạnh hơn điểm nào so với việc để Claude tự cài Ghidra?

Câu hỏi được đặt ra nhiều nhất.

Nhân vật kỳ cựu trong giới bảo mật trên HN là tptacek trả lời rằng: Ai cũng có một bộ script và quy trình của riêng mình, nhưng bạn vẫn cần nhiều thứ hơn là chỉ «để Claude tự do phát huy», ít nhất là ở thời điểm hiện tại. Còn 6 tháng nữa thì chưa biết thế nào.

Cả hai phía đều có dẫn chứng. Có người dùng model nhỏ cục bộ Qwen kết hợp với Ghidra thì model hoàn toàn mất phương hướng, nhưng khi đổi sang REA lại có thể tiếp tục tiến triển. Cũng có người chẳng cài công cụ nào, ném thẳng chương trình Remote Desktop của Windows cho Claude, mô tả hai bug hành hạ anh ta suốt gần mười năm, Claude tự viết script Python để phân tích, nửa tiếng sau đã tạo xong bản vá và sửa gọn gàng.

Kết hợp với trải nghiệm mổ xẻ Feishu của tôi, nhận định của tôi là: Model càng yếu, REA càng hữu dụng; model càng mạnh, giá trị cộng thêm của nó càng nhỏ.

Còn một vấn đề thực tế nữa. Trên HackerNoon có một bài test thực tế, tác giả phát hiện REA expose tới 170 công cụ MCP, chỉ riêng danh sách công cụ đã nặng 1,95MB, anh ấy ước tính tốn khoảng 500.000 token. Nếu dùng model trả phí theo mức sử dụng, bạn hãy tính toán chi phí trước đã.

2. Liệu có phải đang cày star ảo không?

Trong vòng 5 ngày, star tăng từ 4.200 lên 54.000, fork tăng từ 438 lên hơn 10.000. Tỷ lệ fork chiếm tới 19% lượng star, con số này khá bất thường. Trên HN, có người nói thẳng: Đậm mùi buff số liệu.

Tôi đã tự mình kiểm chứng. API danh sách star của GitHub trả về mã 404 cho kho lưu trữ này, không tra cứu được. Tôi bèn kiểm tra ngẫu nhiên các lượt fork, lấy ngẫu nhiên 150 tài khoản trong giai đoạn bùng nổ sau ngày 5 tháng 10:

  • 58% là tài khoản cũ đăng ký trước năm 2022
  • Tài khoản mới đăng ký năm 2026 chỉ chiếm 13%
  • Tài khoản clone điển hình kiểu "đăng ký năm nay + 0 follower + không quá 2 repo" chỉ có 7 tài khoản

Cộng thêm lượt tải npm tăng từ vài trăm mỗi tháng lên 100.000 mỗi ngày, tôi nghiêng về khả năng phần lớn độ hot là thật. Phía star không tra được nên tôi không dám khẳng định chắc chắn 100%.

3. Clean-room implementation hay tẩy trắng IP?

Đây là chủ đề gây tranh cãi gay gắt nhất trong toàn bộ bài thảo luận.

Có một đội ngũ đang làm bản thay thế mã nguồn mở cho Adobe và Office. Thành viên nhóm cho biết họ không dịch ngược bất kỳ chương trình nào, trong nhóm nghiêm cấm sử dụng Ghidra, toàn bộ đều là "clean-room implementation". Nguyên văn lời anh ấy là, dùng REA để làm một dự án gây chú ý lớn như của họ rất có thể sẽ chuốc lấy kiện tụng.

Một kỹ sư từng làm về clean-room implementation chia sẻ rằng, công ty anh có quy định: chỉ cần bạn từng tiếp xúc với mã nguồn của đối thủ trước đây, bạn sẽ không được phép tham gia vào dự án này. Trong khi đó, LLM đã tiếp nhận những gì trong quá trình huấn luyện thì chẳng ai biết được, vì vậy không thể chứng minh bản clone do AI viết ra là hoàn toàn sạch.

Cũng có người nhắc nhở: Dịch ngược mã nguồn có thể được bảo vệ bởi quy định "sử dụng hợp lý" (fair use) là nhờ bạn đã tạo ra giá trị mang tính sáng tạo. Nếu AI bóc tách xong, AI viết lại rồi phát hành trực tiếp, tòa án có thể phán quyết đây là "chuyển đổi máy móc" và ngược lại sẽ không được bảo hộ.

Còn về việc các công ty phần mềm sau này phải làm sao, có một bình luận mở đầu bằng câu: There’s no obscurity anymore. Mã nguồn không còn giấu được nữa rồi. Rất nhiều người dự đoán, sau này những gì có thể đưa lên server-side thì đều sẽ được chuyển hết lên server.


Nếu muốn thử, bạn hãy lưu ý những điều sau

1. Chỉ cài đặt từ kênh chính thức.

Đầu file README của REA có cảnh báo rõ: Chỉ công nhận morluto/rea, rea.tools và rea-agents trên npm. Tôi đã tìm kiếm trên GitHub và thấy xuất hiện hàng loạt repo sao chép, có repo mới lập ngày 13 tháng 10 ghi "Tải xuống miễn phí chính thức, gói zip cục bộ cho Windows". REA chính thức chỉ phân phối qua npm, thấy link tải file zip thì đừng bấm vào.

2. Chỉnh sửa client, tự chịu rủi ro.

Bản "Feishu 2" của tôi dùng chữ ký cục bộ, không phải phiên bản chính thức của Feishu, tính năng tự động cập nhật cũng đã tắt và phải cập nhật thủ công theo bản gốc. Việc chỉnh sửa client có thể vi phạm thỏa thuận người dùng của phần mềm, tôi chỉ sử dụng trên máy tính của mình và cũng không có ý định phân phối.

3. Model có thể sẽ từ chối.

Nhiều người trên HN phản hồi rằng Opus 5.5 thỉnh thoảng từ chối các tác vụ dịch ngược, có người đổi sang Codex thì chạy được, và cũng có trường hợp ngược lại. Nếu đụng phải DRM hay xác thực bản quyền, khả năng cao sẽ bị chặn.

4. Hãy đọc tuyên bố miễn trừ trách nhiệm trước.

REA liệt kê vài lằn ranh đỏ trong phần tuyên bố miễn trừ trách nhiệm: vượt qua DRM và xác thực bản quyền, làm hack/cheat game, vượt qua bước đăng nhập, sao chép code độc quyền và tư liệu của người khác. Còn nếu bạn bóc tách phần mềm mình tự dùng, tạo khả năng tương tác, học hỏi nghiên cứu thì hoàn toàn không vấn đề gì.


Cuối cùng

Trước đây tôi từng phàn nàn về thói "sao chép vặt" của một số ông lớn công nghệ, bê nguyên xi tính năng, use case cùng tài liệu hướng dẫn của người khác về làm của mình, điều đó thực sự rất vô vị.

Nghiên cứu sản phẩm đối thủ là kỹ năng cơ bản của một product manager, nhưng sao chép y nguyên thì chẳng còn gì thú vị nữa.

Những công cụ như REA đã biến việc "hiểu được người khác làm thế nào" từ kỹ năng chuyên môn của kỹ sư dịch ngược thành chuyện chỉ cần nói một câu prompt. Lần này tôi mổ xẻ Feishu, hiểu được cấu trúc của nó và tiện tay tự tạo cho mình một bản chạy song song nhiều tài khoản (multi-instance), giải quyết được một rắc rối nhỏ nhưng rất thực tế.

Có bóc tách được hay không, giờ đã không còn là vấn đề nữa.

Bóc tách xong rồi muốn làm gì tiếp theo, điều đó phụ thuộc vào mỗi người.


Nguồn dữ liệu liên quan :

  • Kho lưu trữ GitHub: github.com/morluto/rea (dữ liệu star, fork tính đến 15-10-2026)
  • Dữ liệu tải về từ npm: api.npmjs.org, package rea-agents
  • Thảo luận trên Hacker News: "REA Reverse – Engineer Anything" (10-10-2026, 804 điểm)
  • Thử nghiệm từ bên thứ ba: HackerNoon "I Tested REA, GitHub’s Viral Reverse Engineering Tool, on a Real Electron App" (14-10-2026)
  • Làn sóng dịch ngược game: METAL "AI-Decompiled Games Spread as Web Browser Ports" (10-10-2026)
  • Xbox Labs: The Verge "Xbox is officially embracing the chaos of AI-powered game ports" (13-10-2026)
  • Tham khảo hướng kỹ thuật chạy nhiều phiên bản (multi-instance): github.com/eggyrooch-blip/feishu-clone
  • Lấy mẫu tài khoản fork: Tác giả tự kiểm tra ngẫu nhiên 150 tài khoản qua GitHub API (15-10-2026)
  • Thực nghiệm trên Feishu: Máy của tác giả chạy Feishu 8.1.17, REA 6.5.0, Codex (15-10-2026)