Reverse semua perangkat lunak: REA naik GitHub 58.000 Star, dengan kemarahan berubah menjadi pertanyaan.
GitHub baru saja membakar proyek lain: REA. Pengguna mengatakan itu adalah "ke 42.000 Star", tapi pada hari ini (10 Oktober 2026) angka telah meningkat. 58.000 Bintang, 11.000 Fork- Lebih dari yang mereka katakan. Dan apa yang dilakukannya adalah Anda dapat mengatakan hal yang sama: Anda menggunakannya untuk membalikkan perangkat lunak apapun, menggalinya dari aplikasi ke biner asli.
Apa sebenarnya masalahnya?
The reverse tradisional adalah "Man duduk di counter kompiler selama beberapa hari untuk membaca kompilasi." Ide REA adalah untuk menempatkan kemarahan pada sirkuit anti- (kode asli dengan Hopper, Ghidra atau IDA) dan kemudian terhubung ke analisis statis untuk JavaScript dan. NET. Angent bertanggung jawab untuk mempertanyakan alat, mengumpulkan kesimpulan dan menyerahkan kembali bukti.
Contoh README adalah inti dari penjualan: "Tahu bagaimana pencarian dalam aplikasi Catatan bekerja, menunjukkan bukti, dan melakukan fitur serupa untuk proyek saya". Apa yang Anda punya adalah penjelasan, lokasi kode, dan daftar apa yang Anda tidak tahu.
Intinya adalah untuk menganalisis semua operasi lokal, dan kesimpulan akan disertai dengan bukti dan keterbatasan - tidak memungkinkan model untuk membuat penjelasan untuk Anda.
Ini. Yang target untuk dimakan
REA memiliki basis dukungan yang luas, yang pada dasarnya mencakup objek kebalikan umum:
- Biner Asli: pseudocodes, kompilasi, string, simbol, panggilan dan referensi (Hopper / Ghidra / IDA dibutuhkan)
- Luring Tata Letak ELF: paragraf, bagian, simbol / reposisi asli, kandidat mitigasi statis
- JavaScript / Electron: modul, impor, sumber Peta, hubungan rute, IPC ke plugin primer (analisis statis tanpa mesin primer)
- Situs webStruktur halaman, skrip, pengamatan web dan cuplikan layar
- Koleksi Program.: metadata, perintah CIL, deklarasi ketergantungan asli versus konstruksi (murni statis)
- Android APKPernyataan daftar, kelas, metode terjemahan terbalik dan referensi (perlu jadx + lengkap JDK tanpa kepala)
- Solid: partisi, ekstrak berpotongan dengan analisis asli (perlu Binwalk / Unblob)
- EVM bytes, login Linux crash, HAR meraih, perilaku prosesTunggu.
Kebutuhan lingkungan: Node.js 22.x (2.22.19), 24.x (n4.11) atau 26 +, plus npm. Agen yang didukung termasuk Claude Codex, Cursor, Gemini CLI, Gok Build, dll agen apapun yang mendukung Server MCP lokal pada dasarnya berfungsi. Pasang perintah:npx rea-agents setup, ia akan mendaftarkan server MCP dan menulis deskripsi arus kerja yang menyertai, dan kemudian restart ant.
Tiga kasus publik: apa yang bisa dibuktikan?
Angka bintang mewakili panas dan hasil kasus. Resmi REA mengeluarkan tiga pertunjukan dari "apa yang bisa" dan "apa yang tidak bisa".
Case 1: Sound field formula untuk DX- Ball
Pertanyaan: Bagaimana DX-Ball di tahun 1990-an menerjemahkan posisi horizontal dari batu bata ke bidang suara kiri / kanan? Kompiler counter ada di 0x406400 Hanya satu masukan tak teramati yang terlihat __ftol() Panggil; hilang referensi dalam perintah [EBP+8]Aku tidak tahu. Ikuti pemanggil 0x411f40 Formula koordinat ditemukan 20 + 30 × tile_x, dan membaca tiga konstanta dari memori 1.5625, 500.0 dan skala akustik awal 1,0.
Aturan yang akhirnya dipulihkan adalah: koordinat ganda, dikalikan dengan 1.5625, minus 500.0, dikalikan dengan medan akustik disimpan dan kemudian terputus. Perbesar ke 1 dengan sisi kiri -500, pusat 0, ujung kanan 500. Apa yang benar-benar membangun kepercayaan diri adalah sarana otentikasi: penulis berjalan 3205 contoh secara bersamaan melalui fungsi asli x86 dan versi C baru (meliputi posisi 0-640 penuh, skala 0 / 05 / 1 / 20-1), dan di bawah teratur VC 4.0 tool rantai bytes cocok dengan 63 bytes asli. Seluruh laporan proyek mempertahankan fungsi 55 C, 45380 perbandingan.
Itu tidak membuktikannya.Gerakan untuk menghubungkan bidang suara ke ujung belakang permainan masih belum selesai, dan produk yang dapat dimainkan tidak lengkap; pekerjaan ini terikat dengan Hash tetap di DX-Ball 1,07; kompilasi dari "reposisi dan diperiksa konstanta mengandalkan tinjauan manual" tidak sepenuhnya otomatis.
Case 2: Notion How to Copy to Clip Board
Langsung dari binari 90-an ke aplikasi Elektron modern. Pertanyaan: Notion Desktop 7.6.1 Bagaimana menulis teks dan HTML ke papan klip sistem? Path dalam empat segmen: pramuat skrip terekspos ke halaman clipboard.write; pembungkus memanggil pada beberapa saluran ipcRenderer.invoke; proses utama ipcMain.handle Menerima; elektron oleh pengirim clipboard.write Crash. Nama Channel yang sama di kedua sisi. notion:clipboard:writeAku tidak tahu.
Dua penemuan perlu diingat: penanganan proses utama akan memverifikasi halaman mana yang mengirim permintaan, dan hanya Notion yang memiliki set web sendiri untuk mencapai papan klip untuk menulis -- Ini adalah posisi yang benar yang harus diterapkan Electron; yang kedua adalah bahwa ada sepotong data tersembunyi dalam salinan, dengan sebuah komentar dalam HTML menunjuk ke Notion untuk menyesuaikan mimotipe text/_notion-blocks-v3-production Data blok yang disimpan secara lokal. Mengembalikan entri ketika penempelan dengan ID, dan mengembalikan teks asli + HTML ketika entri berakhir.
Itu tidak membuktikannya.: REA 4.1.0 hanya menganalisis preload label, temukan API yang terkena dan invoke Panggilan, wrapper menyadari bahwa penulis secara manual membaca dan menghubungkan Channel ke penerima; kesimpulan clipboard adalah dari sumber daya web dan cache saver dari 13 Juli 2026, bukan dari sesi desktop hidup.
Case 3: Playscreen for PC-98 games Ring
Kembali ke 16 bit DOS kode. Program JERA mendukung 16 bit analisis DOS. Penulis menyimpan kembali sudut tetap dan sudut tujuan belakang tirai bom, konstruksi mereka dengan C + + dan membandingkannya dengan keluaran dari kompiler sejarah. Bentuk sama dengan DX-Ball: mengembalikan sebagian kecil dari perhitungan, membangunnya kembali dan kemudian mengotorisasikannya dengan produk asli, daripada percaya pada penjelasan tersebut.
Empat. Kumpulkan tiga kasus itu.
- Ini sangat sempit.: formula akustik, jalur papan klip, tirai peluru, dan tidak ada kasus mengatakan "membangun kembali seluruh aplikasi".
- Buktinya terpasang.Alamat, konstan, 3205 tes, Nama saluran, probe tersimpan, perbandingan kompiler.
- Semua mengakui langkah manual.Ditinjau secara manual reposisi, pembungkus secara manual, kompiler yang cocok.
- Target memiliki versi tetap.DX- Ball 1.07 dengan Hash, Notion 7.6.1, asli PC-98 biner.
Ini adalah perbatasan jujur hari ini:Agen adalah asisten cepat tak kenal lelah untuk melacak perilaku individu, dan terbukti menjadi tes dari mana Anda dapat berlari lagi.
V. Apa artinya bagi pengembang
Jika Anda melakukan aplikasi marah, REA mewakili pola baru: daripada membiarkan model "menebak" langsung tentang bagaimana program berjalan, Anda menempatkan model pada alat terbalik profesional untuk membuatnya berbicara pada bukti. Nilainya bukan "satu kunci membalikkan seluruh perangkat lunak", tapi ini akan memindahkan ambang terbalik dari "compilasi" ke "question + validates".
Tapi harus sadar dua poin. Pertama, analisis lokal tidak sama dengan aliran data -- kemarahan Anda akan mengekspor alat untuk model pemasok, dan kebijakan data masih berlaku. Kedua, kualitas bukti tergantung pada rantai sertifikasi, dan kredibilitas dalam kasus ini berasal dari perbandingan 3205 dan byte yang cocok daripada penafsiran mulut model.
Bagaimana melakukannya?
- Lingkungan: Node.js 22.x (în22.19) / 24.x (4.11) / 26 +, plus npm
- Instalasi kunci pertama:
npx rea-agents setup, pilih anent, review, dan menyetujui perubahan, dan jalankan ulang suatu anent - Instalasi global:
npm install --global rea-agents, kemudian tersediarea --help - Analisis STAC / Electron:
npx -y rea-agents@latest analyze-javascript-application /abs/path --json - Analisis primer: konfigurasi awal dari penyedia (Hopper / Ghidra / IDA)
- Update:
rea updateAtau lari lagi.npx rea-agents@latest setup
Kebalikannya bergerak dari "compilasi membaca" ke "pertanyaan + validasi" - alat ini telah menurunkan ambang pintu, tetapi bukti masih harus diuji.