REA: Biarkan agen AI membedah perangkat lunak tanpa kode sumber untukmu

Proyek sumber terbuka REA (Reverse Engineer Anything) menghubungkan alat analisis rekayasa balik dengan agen pemrograman AI seperti Claude Code, Codex, dan Cursor. Jika kamu melihat fitur bagus di aplikasi orang lain, kamu bisa meminta agen membedah program tersebut, menjelaskan cara kerjanya beserta bukti, lalu membuat fitur serupa di proyekmu sendiri. Rekayasa balik adalah proses mencari tahu cara kerja sebuah program yang sudah dikompilasi tanpa memiliki kode sumbernya.

REA sendiri adalah layanan MCP. MCP merupakan antarmuka umum yang memungkinkan agen AI menggunakan alat eksternal. Setelah terhubung, agen dapat langsung menggunakan fitur analisis REA dalam percakapan. Instalasinya cukup dengan satu perintah: npx rea-agents setup. Perintah ini akan mendaftarkan REA ke berbagai agen, termasuk Claude Code, Codex, Cursor, Gemini CLI, dan Grok Build. Sebelum mengubah konfigurasi, REA akan membuat cadangan dan meminta konfirmasi. Jika tidak menggunakan agen, kamu juga bisa menjalankan perintah langsung di terminal.

REA dapat menganalisis banyak jenis program. Program native (perangkat lunak yang langsung dikompilasi menjadi kode mesin) memerlukan alat disassembler seperti Hopper, Ghidra, atau IDA untuk mengubah kode mesin kembali menjadi assembly dan pseudocode yang menyerupai C. Aplikasi Electron (perangkat lunak desktop yang dibuat dengan teknologi web, seperti Notion) dapat langsung dibedah dengan mengekstrak arsip ASAR dari paket instalasinya untuk memahami modul dan komunikasi antarproses, tanpa alat tambahan. REA juga mendukung program .NET, APK Android, firmware, situs web, rekaman lalu lintas jaringan, bytecode kontrak Ethereum, serta pencatatan perilaku program saat berjalan di Linux dan macOS.

Analisis dilakukan secara lokal di perangkatmu. REA tidak mengunggah program yang dianalisis, tetapi hasil analisis akan dikirim ke penyedia layanan model yang digunakan oleh agen. Cara data diproses bergantung pada kebijakan masing-masing penyedia.

Proyek ini memberikan tiga contoh. Pertama, game Arkanoid klasik DX-Ball: dari satu pemanggilan untuk memutar efek suara, analisis menelusuri fungsi yang menghitung kanal kiri dan kanan berdasarkan posisi bola. Pseudocode yang tidak lengkap dipulihkan menjadi kode C, dan hasil 3.205 rangkaian pengujian cocok dengan versi aslinya. Sebanyak 63 byte hasil kompilasi juga sama persis dengan versi asli. Kedua, aplikasi desktop Notion: analisis menelusuri seluruh alur salin-tempel dari antarmuka, melalui skrip pramuat dan komunikasi antarproses, hingga ke proses utama. Ketiga, game Touhou Gensokyo (TH04) untuk komputer Jepang lawas PC-98: algoritme sudut untuk lingkaran peluru danu berhasil dipulihkan dari instruksi 16-bit.

Bagi peneliti keamanan, penggemar remake game lawas, dan orang-orang yang berupaya melestarikan perangkat lunak, pekerjaan yang sebelumnya mengharuskan mereka membaca baris demi baris di alat disassembler dan menelusuri pemanggilan fungsi selapis demi selapis kini dapat diawali oleh agen, lalu bukti yang diberikan agen diperiksa oleh manusia. Pengembang biasa yang ingin mempelajari cara kerja fitur tertentu pada produk pesaing juga kini punya pilihan lain.

Menurut README, proyek ini sudah meraih 50 ribu bintang di GitHub. Paket npm-nya pertama kali dirilis pada Juli tahun ini, dan versi terbaru 6.3.0 baru saja dirilis hari ini.

Sebelum menggunakan proyek ini, perhatikan dua hal. Proyek menyatakan bahwa REA hanya mendukung penelitian rekayasa balik yang sah. Pengguna bertanggung jawab atas izin dan kepatuhan hukum; merekayasa balik perangkat lunak milik orang lain mungkin melanggar perjanjian pengguna atau undang-undang hak cipta. Proyek ini juga menyatakan bahwa mereka tidak pernah menerbitkan atau mendukung mata uang kripto apa pun. Token yang menggunakan nama REA tidak ada hubungannya dengan proyek ini.

https://github.com/morluto/rea