DEV Community

Cover image for Apa Itu REA (Reverse Engineer Anything)? Server MCP yang Meraih 115 Ribu Bintang GitHub dalam Seminggu
Walse
Walse

Posted on Originally published at apidog.com

Apa Itu REA (Reverse Engineer Anything)? Server MCP yang Meraih 115 Ribu Bintang GitHub dalam Seminggu

Apa Itu REA (Reverse Engineer Anything)? Server MCP yang Meraih 115 Ribu Bintang GitHub dalam Seminggu

REA (Reverse Engineer Anything)

REA, singkatan dari Reverse Engineer Anything, adalah server MCP dan CLI open source yang memberi coding agent alat untuk membedah perangkat lunak tanpa kode sumbernya. Arahkan Claude Code, Codex, Cursor, atau agent lain ke biner native, aplikasi Electron, assembly .NET, APK Android, situs web, atau tangkapan jaringan tersimpan, tanyakan bagaimana suatu fitur bekerja, dan REA mengembalikan pseudocode, graf modul, log permintaan, serta bukti di balik setiap klaim. Agent kemudian menjelaskan perilakunya atau membangunnya ulang.

Coba Apidog hari ini

Repositori morluto/rea dibuat pada April 2026 dan hampir tidak diperhatikan hingga minggu pertama Oktober. Pada 12 Oktober, repositori ini telah melampaui 115.000 bintang dan 25.000 fork, salah satu kenaikan tercepat yang pernah dilihat GitHub. Panduan ini membahas apa yang dilakukan REA, cara menginstalnya, di mana ia unggul, di mana hype melebihi kenyataan, dan bagian yang dilewatkan sebagian besar liputan: REA membaca tangkapan HAR dan mitmproxy, menjadikannya front end untuk reverse engineering API yang bisa Anda selesaikan di Apidog.

Angka di balik hype

Pelacakan harian Trendshift memperlihatkan bentuk lonjakannya. REA pertama kali muncul di daftar trending pada 4 Oktober dengan sekitar 1.400 bintang baru sehari. Setelah itu, pertumbuhannya mengganda selama seminggu.

Tanggal Bintang baru hari itu
4 Okt 1.373
7 Okt 5.602
9 Okt 19.375
10 Okt 26.572
11 Okt 31.255

Repositori ini menempati posisi nomor satu di GitHub Trending selama lima dari tujuh hari dari 6 hingga 12 Oktober. Rilis mengikuti ritme yang sama: versi 3.2 dirilis pada 3 Oktober, 4.0 pada 5 Oktober, 5.0 pada 7 Oktober, 6.0 pada 8 Oktober, serta 6.1 hingga 6.4 antara 9 dan 11 Oktober. Ritme ini penting bagi siapa pun yang mengadopsinya, dan kita akan membahasnya lagi.

Tidak ada satu tweet atau pos peluncuran yang menjelaskan lonjakan ini. Pitch-nyalah yang berhasil: "Lihat fitur yang Anda sukai. Pahami cara kerjanya hingga level biner." Video agent yang membangun ulang aplikasi desktop dari binernya menyebar cepat, bersama klaim lazim bahwa perangkat lunak sudah tamat. Tafsir yang lebih berguna lebih sempit. REA adalah konektor yang dikemas dengan baik antara agent dan alat reverse engineering yang sudah ada sebelumnya.

Apa yang dilakukan REA

REA berjalan sebagai server MCP lokal. Agent Anda memanggil alatnya, REA memeriksa target dengan engine yang tepat, dan agent menerima temuan terstruktur beserta keterbatasan dan ketidakpastiannya. Alur kerja yang sama tersedia sebagai perintah CLI, sehingga Anda bisa membuat skrip tanpa agent sama sekali.

Alur kerja REA

Berdasarkan tabel target di README, berikut yang dianalisis REA:

Target Yang dikembalikan REA Kebutuhan
Biner native Pseudocode, assembly, string, simbol, referensi silang Hopper, Ghidra, atau IDA
Biner Go Versi compiler, modul, pengaturan build Tanpa tambahan
Aplikasi JavaScript dan Electron Modul, impor, source map, rute, batas IPC Hanya Node.js
Situs web Struktur halaman, skrip, observasi jaringan, tangkapan layar Peramban keluarga Chrome
Tangkapan jaringan tersimpan Permintaan, respons, payload, lokasi sumber HAR; mitmdump di Linux untuk mitmproxy
Assembly .NET Metadata, CIL, dependensi native Tanpa tambahan
APK dan perangkat Android Manifest, metode hasil dekompilasi, log, tangkapan layar JADX ditambah JDK; adb
Firmware Region, hasil ekstraksi Binwalk atau Unblob di Linux
Bytecode WASM dan EVM Section, impor dan ekspor, selector dispatch WABT; Linux x64

Pilihan desain yang membedakan REA dari pembungkus tipis adalah model bukti. Setiap hasil membawa asal-usulnya: digest berkas, rentang byte, penunjuk JSON ke tangkapan, dan daftar eksplisit hal yang tidak dapat ditetapkan oleh analisis. Proyek ini menekankannya berulang kali dalam dokumentasinya. Analisis berjalan di mesin Anda, tetapi FAQ README menyatakan dengan lugas bahwa penyedia model agent tetap menerima hasil alat berdasarkan kebijakan datanya sendiri.

Cara menginstal REA

Anda membutuhkan Node.js 22.19 atau lebih baru (23 dan 25 tidak didukung) serta npm. Satu perintah mendaftarkan server MCP dan menginstal instruksi skill yang sesuai untuk agent Anda:

npx rea-agents setup
Enter fullscreen mode Exit fullscreen mode

Penyiapan menampilkan rencana, mencadangkan konfigurasi yang ada, dan hanya menulis setelah Anda menyetujui. Menurut panduan instalasi, REA mendukung Claude Code, Claude Desktop, Codex, Cursor, Gemini CLI, Windsurf, Devin, OpenCode, Antigravity, GitHub Copilot CLI, VS Code, Grok Build, Hermes, dan lainnya, masing-masing dapat dipilih dengan flag --client. Mulai ulang agent setelahnya, lalu minta sesuatu seperti:

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

Untuk CLI global:

npm install --global rea-agents
rea doctor --json
Enter fullscreen mode Exit fullscreen mode

Analisis JavaScript statis, .NET, situs web, dan tangkapan bekerja tanpa engine tambahan. Analisis native mendalam membutuhkan Hopper, Ghidra 12.1 dengan JDK 21 atau lebih baru, atau IDA. Penyiapan dapat menginstal Hopper dengan persetujuan Anda, tetapi Hopper adalah perangkat lunak komersial terpisah dengan lisensinya sendiri. Ghidra di Windows ditandai eksperimental.

Keunggulan REA berdasarkan showcase

Studi kasus proyek itu sendiri adalah tolok ukur paling jujur. Dalam studi DX-Boll, agent mengikuti panggilan suara hingga helper posisi-ke-pan, mengubah pseudocode tidak lengkap menjadi C, dan hasil rekonstruksinya lolos 3.205 test case x86 asli sambil mereproduksi seluruh 63 byte fungsi terkompilasi. Dalam studi Notion, REA menelusuri API papan klip dari renderer melalui preload dan IPC hingga proses utama Electron. Studi ketiga memulihkan perhitungan sudut cincin peluru dari instruksi 16-bit sebuah game PC-98 tahun 1990-an.

Perhatikan polanya. Ini adalah pertanyaan berlingkup sempit tentang satu fungsi atau satu jalur data, disertai cara memverifikasi jawabannya. Di sanalah reverse engineering berbasis agent berhasil hari ini. Demo "bangun ulang seluruh aplikasi ini" tampak bagus di video dan menghasilkan sesuatu yang mirip target, tetapi satu ulasan awal yang menguji REA melawan agent biasa pada aplikasi Mac sederhana menemukan selisihnya kecil dan eksekusi REA lebih lambat. Nilainya muncul saat pertanyaannya spesifik dan targetnya kompleks.

REA untuk pekerjaan API: dari tangkapan ke spesifikasi teruji

Inilah bagian yang relevan bagi siapa pun yang membangun di atas API. Alat REA inspect_web_network_capture membaca berkas HAR (atau tangkapan mitmproxy native di Linux) secara offline. Alat ini tidak pernah mengambil ulang URL yang direkam. Alat ini memvalidasi setiap entri, mempertahankan body permintaan dan respons beserta digest-nya, serta secara struktural mengecualikan header otorisasi, cookie, dan kredensial URL dari bukti.

Kemudian, alat ini melakukan sesuatu yang langsung dikenali tim API. Berikan bukti yang dipertahankan ke inspect_analysis_view dengan tampilan api-surface, dan REA mengelompokkan setiap permintaan berdasarkan metode, origin, dan templat jalur yang disimpulkan. ID numerik menjadi {numeric}, UUID menjadi {uuid}, string heksadesimal panjang menjadi {hex}, dan tanggal menjadi {iso-date}. Setiap grup mengutip catatan asalnya dan menandai status atau jenis konten campuran. Panduan tangkapan berhati-hati menyatakan bahwa tampilan ini tidak membuat klaim skema atau handler. Ini inventaris hasil inferensi, bukan spesifikasi.

Inventaris itu tepat menjadi titik awal untuk alur kerja dalam panduan reverse engineering API kami, dan Apidog menyelesaikannya:

  1. Tangkap sekali. Di Chrome DevTools, reproduksi alurnya dan simpan semua permintaan sebagai HAR dengan konten. Rekam dengan akun uji; HAR membawa token aktif.
  2. Biarkan agent memetakannya. Minta agent Anda menjalankan REA pada HAR dan meringkas API surface. Anda mendapatkan daftar endpoint, pola ID, dan panggilan yang mengembalikan galat, lengkap dengan penunjuk kembali ke catatan mentah.
  3. Impor HAR yang sama ke Apidog. Apidog mengubah permintaan yang ditangkap menjadi endpoint, dengan opsi membuat test case bawaan per endpoint dan membuang aset statis saat impor. Panduan impor HAR kami membahas pembersihannya.
  4. Promosikan templat hasil inferensi menjadi parameter jalur nyata. Placeholder {numeric} dan {uuid} milik REA memberi tahu segmen mana yang perlu diparameterisasi dalam definisi endpoint Apidog.
  5. Mock dan uji. Aktifkan smart mock Apidog agar kode klien dapat berjalan melawan API yang direkonstruksi sebelum Anda menyentuh API asli, lalu tulis assertion terhadap bentuk respons yang ditangkap dan jalankan dari Apidog CLI di CI.

Pembagiannya jelas. REA unggul membaca bukti dan menjelaskannya. Apidog adalah tempat endpoint menjadi kontrak terdokumentasi, ter-mock, dan teruji yang bisa dibagikan tim Anda. Keduanya tidak mengerjakan pekerjaan satu sama lain.

Catatan penting sebelum mengadopsi

Kecepatan rilis berbilah dua. Tujuh versi minor dirilis dalam sembilan hari, dan kebijakan always-bump-minor proyek berarti kenaikan minor bisa bersifat breaking. Panduan migrasi 6.2 mengubah bentuk setiap hasil MCP. Jika Anda membuat skrip terhadap keluaran JSON REA, kunci versinya dan baca changelog sebelum memperbarui.

Ini konektor, bukan sandbox. Kebijakan keamanan proyek menyatakan bahwa bridge penyedia lokalnya bukan sandbox dan membuka biner yang tidak dipercaya menjalankan parsing dengan izin pengguna Anda. Analisis target yang tidak dipercaya di lingkungan terisolasi, sama seperti Anda mengisolasi pemanggilan alat agent mana pun.

Batas platformnya spesifik. Dekoding mitmproxy native membutuhkan tepat mitmdump 12.2.3, di Linux, dan disediakan oleh Anda. Jalur ekstraksi firmware, EVM, dan WASM adalah Linux x64. Hopper tidak memiliki build Windows.

Tanggung jawab hukum tetap pada Anda. README membatasi REA untuk riset, analisis, dan rekonstruksi yang sah, serta menyatakan Anda bertanggung jawab atas otorisasi. Menyalin fitur pesaing tetap menjadi pertanyaan hukum yang sama seperti sebelum alat ini ada. Proyek ini juga harus menyatakan bahwa ia tidak menerbitkan token dan koin yang memakai namanya tidak berafiliasi.

Masih awal. Lebih dari 100 kontributor serta lebih dari 170 issue dan pull request terbuka saat tulisan ini dibuat. Dokumentasinya lengkap, tetapi bersiap menemui kekasaran di luar jalur yang ditampilkan.

Pertanyaan yang sering diajukan

Apakah REA gratis? Ya. Kodenya berlisensi MIT dan paket npm gratis. Hopper adalah produk berbayar jika Anda memilihnya untuk analisis native; Ghidra gratis.

Apakah REA mengunggah aplikasi atau biner saya? Tidak. Analisis berjalan secara lokal. Hasil alat dikirim ke model yang digunakan agent Anda, sehingga kebijakan data penyedia tersebut berlaku.

Apakah saya perlu Ghidra atau IDA untuk memulai? Tidak untuk analisis JavaScript, Electron, .NET, situs web, atau tangkapan. Hanya dekompilasi biner native yang membutuhkan engine.

Bisakah REA menghasilkan spesifikasi OpenAPI dari lalu lintas? Tidak. Tampilan api-surface adalah inventaris hasil inferensi dengan templat jalur. Impor HAR ke Apidog untuk mendapatkan definisi endpoint yang dapat diedit, lalu ekspor OpenAPI dari sana. Unduh Apidog untuk mencoba impor pada tangkapan yang sudah Anda miliki.

Posisi Anda sekarang

REA mendapatkan bintangnya dengan mengemas engine reverse engineering nyata di balik satu server MCP dan mendokumentasikan bukti yang dikembalikannya. Gunakan untuk pertanyaan berlingkup jelas: bagaimana satu fungsi bekerja, saluran IPC mana membawa pesan, atau seperti apa lalu lintas sebuah aplikasi. Perlakukan demo membangun ulang segalanya hanya sebagai demo.

Bagi tim API, kemenangan praktisnya adalah jalur tangkapan. Biarkan agent membaca HAR dengan REA, lalu impor berkas yang sama ke Apidog dan ubah inventarisnya menjadi endpoint yang dapat Anda mock, uji, dan dokumentasikan.

Top comments (0)