Di halaman ini

Rekayasa balik, dengan agen pengkodean Anda

Cari tahu bagaimana
perangkat lunak bekerja.

Tanyakan kepada agen pemrograman Anda tentang aplikasi, game, atau situs web. REA menyediakan alat untuk memeriksa kode di balik jawabannya.

Siapkan REA

Tempel prompt ini ke agen pemrograman Anda:

Agen pengkodean Anda

Pasang REA dan hubungkan ke agen pemrograman ini menggunakan npx rea-agents@latest setup. Tampilkan rencana perubahan dan tunggu persetujuan saya sebelum menjalankannya. Setelah itu, verifikasi pemasangan.

Atau jalankan perintah ini di terminal:

npx rea-agents@latest setup

Periksa dan setujui rencana perubahan, lalu mulai ulang agen Anda.

Pilihan instalasi lain: curl →

Pertama kali, atau hilang Node.js atau agen pengkodean? Ikuti panduan penyiapan langkah demi langkah →

Cara kerjanya

Rekayasa balik berarti memahami cara kerja perangkat lunak dengan memeriksa program itu sendiri. Dengan REA, agen Anda dapat menelusuri kode, menjelaskan fitur, dan membantu membuatnya kembali.

  1. Tanyakan satu fitur

    Berikan program atau halaman beserta pertanyaan kepada agen Anda.

  2. Periksa programnya

    REA mengembalikan kode, referensi, dan hasil pengamatan saat program berjalan.

  3. Pahami, lalu coba perubahan

    Agen Anda menggunakan temuan untuk menjelaskan atau membuat ulang fitur tersebut.

Lihat seluruh penyelidikan Kalkulator

Mengapa 200 + 10% menghasilkan 220 di Kalkulator?

Ikuti instruksi langkah demi langkah

x64 asli * instruksi yang dipilih
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
0x180124960: LEA RCX, [RSP + 0x160]
0x180124968: CALL 0x180122650
0x18012496e: LEA RDX, [R13 + 0x160]
0x180124975: LEA RCX, [RSP + 0x78]
0x18012497a: CALL 0x180109720
0x18012497f: MOV RSI, RAX
0x180124982: MOV qword ptr [RSP + 0x28], RAX
0x180124987: LEA RDX, [RSP + 0x160]
0x18012498f: MOV RCX, RAX
0x180124992: CALL 0x180123190
; … value-copy instructions omitted …
0x180124a14: MOV RDX, RDI
0x180124a17: LEA RCX, [RSP + 0xf8]
0x180124a1f: CALL 0x180109720
0x180124a24: LEA R8, [RSP + 0x30]
0x180124a29: MOV RDX, RAX
0x180124a2c: LEA RCX, [RSP + 0xb8]
0x180124a34: CALL 0x180123c10

Anda memecahkan kode instruksi, mengikuti pemanggilan fungsi, dan merekonstruksi perhitungannya.

Ajukan pertanyaan yang sama kepada agen Anda

Contoh prompt * Kalkulator

Gunakan REA untuk memeriksa Windows Kalkulator. Mengapa 200 + 10% menghasilkan 220?

Contoh jawaban * berdasarkan temuan

Setelah +, tombol % mengambil persentase dari angka pertama.

10% of 200 = 20200 + 20 = 220
REA menyediakan
Instruksi pawang, kode yang didekompilasi, dan panggilan.
Agen Anda menjelaskan
Cabang mana yang berlaku, apa yang menghitungnya, dan bagaimana membangunnya kembali.
Rakitan yang dipilih dari Kalkulator DLL yang diinstal. Pemikiran dan balasannya menggambarkan temuan tersebut. Lanjutkan dengan contoh Kalkulator ↓

Mari coba dua contoh: ubah kecepatan permainan, lalu buat ulang tombol % Kalkulator.

Contoh 01 * Game dinosaurus Chrome

Mengapa dinosaurus semakin cepat?

Permainan makin cepat saat kamu terus berlari. Untuk membuatnya ulang dengan pengatur kecepatan, kita perlu tahu dulu bagaimana kecepatannya berubah.

1. Tanyakan tentang kecepatan

Contoh pertanyaan · Permainan dinosaurus

Gunakan REA untuk memeriksa game dinosaurus ini. Mengapa menjadi lebih cepat? Tampilkan aturan kecepatan, lalu buat versi kecil dengan kecepatan yang dapat disesuaikan.

2. Temukan aturan kecepatannya

REA memungkinkan agen membaca kode permainan yang sedang berjalan. Kecepatan dimulai dari 6 dan naik sedikit setiap pembaruan selama masih di bawah 13.

3. Mainkan hasilnya

Kami membuat ulang aturan itu dalam permainan kecil di bawah dan menambahkan penggeser kecepatan. Mulai bermain, lalu pilih kecepatanmu.

6 → 10 → 13

Aturan awal: mulai dari 6, lalu tingkatkan menjadi 13.

Gerakkan penggeser untuk mengatur kecepatan Anda sendiri. Ruang atau Lompatan membersihkan kaktus.
Buka lab kecepatan →
Lihat skrip, cek, dan cara mencoba analisisnya

Target yang diperiksa: edisi peramban turunan Chromium wayou.

REA * dimuat index.js * baris yang dipilih
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}

Mulai dari 6. Tambahkan 0.001 setiap pembaruan tanpa tabrakan, sementara kecepatan di bawah 13.

Apa yang dilakukan setiap bagian

  1. 01 * REA Baca skrip game yang sedang berjalanKembalikan kode dan pengaturannya yang sebenarnya ke agen.
  2. 02 * Agen AndaBangun kembali aturan, tambahkan kontrolGunakan akselerasi yang dipulihkan dalam gim kecil dengan penggeser kecepatan.
  3. 03 * KamuMengubah kecepatan dan bermainCoba akselerasi asli, lalu pilih kecepatan Anda sendiri.

REA memeriksa edisi browser HTTP melalui koneksi debugging lokal dan mengembalikan yang dimuat index.js, termasuk sumber dan intisarinya.

Pengaturan yang dipilih dari skrip yang diinspeksi
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6

Kami menyebut fungsi pembaruan game asli dalam pemeriksaan browser yang terkontrol, dengan hambatan dan penjadwalan otomatis dinonaktifkan. Setelah 4.000 pembaruan, kecepatannya menjadi 10,0; setelah 10.000, kecepatannya menjadi 13,0, dibulatkan menjadi satu desimal.

Mini-game baru mempertahankan aturan kecepatan itu. Kode menggambar, melompat, dan bertabrakan adalah implementasi pengajaran yang kecil. Buka labnya untuk melihat kode baru dan menjalankan pemeriksaan kecepatan yang sama.

Untuk memeriksa target sendiri, ikuti langkah-langkah koneksi browser menggunakan halaman dinosaurus. Berikan URL halaman tersebut kepada agen Anda dan titik akhir debugging lokal Anda, lalu salin perintah di atas.

Kode kecepatan yang diperiksa · Penulis Chromium * Lisensi BSD

Contoh 02 * Kalkulator Windows

Buat ulang tombol % Kalkulator.

Tombol % bekerja berbeda setelah + dan ×. Mari temukan kedua aturan dan mencobanya dalam kalkulator kecil.

1. Tanyakan tentang tombol %

Contoh pertanyaan · Kalkulator

Gunakan REA untuk memeriksa tombol % Kalkulator Windows. Pulihkan aturan setelah + dan ×

2. Temukan kedua aturan

REA membantu agen membaca kode di balik tombol %. Kode ini menerapkan dua aturan berbeda:

Dengan +
Ambil 10% dari angka pertama.10% of 200 = 20 → 200 + 20 = 220
Dengan ×
Ubah 10% menjadi 0,1.200 × 0.1 = 20

3. Coba tombol %

Kami membuat ulang kedua aturan di bawah. Pilih + atau ×, tekan %, lalu tekan =.

200 + 20

10% dari 200 = 20. Kemudian 200 + 20 = 220.

Ilustrasi interaktif dari aturan persentase yang diinspeksi.
Lihat kode sebenarnya dan bagaimana jawabannya diperiksa

Untuk contoh ini, previous = 200 dan current = 10.

Ringkasan yang dapat dibaca dari % handler
if (operation == multiply || operation == divide) {
  percent = current / 100;
} else {
  percent = current * previous / 100;
}

Dari aplikasi yang diinstal ke tombol % yang berfungsi

  1. 01 · REA membaca calc.exeIni meluncurkan aplikasi KalkulatorKode terbuka ms-calculator:. Agen kemudian memilih pustaka aplikasi yang diinstal.
  2. 02 * REA membaca perpustakaanKembalikan kode % handlerFungsi memeriksa operator dan menggunakan konstanta 100.
  3. 03 * Agen Anda menafsirkannyaMenjelaskan dan mereproduksi aturanPeriksa silang cabang dengan sumber Microsoft, lalu coba + dan ×
REA * instruksi asli yang dipilih
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
ID Operator * Sumber Microsoft
#define IDC_MUL 92      // 0x5c
#define IDC_DIV 91      // 0x5b
#define IDC_PERCENT 118 // 0x76

0x64 = 100

Diperiksa dengan REA 4.1.0: Kalkulator Windows 11.2508.4.0, x64. Ringkasan yang dapat dibaca menggunakan nama dari sumber publik Microsoft untuk menjelaskan cabang yang dipulihkan.

Implementasi persentase · Kasus uji Microsoft · Panduan penyiapan asli

Studi kasus REA.

Jelajahi fitur dalam aplikasi atau game yang telah dirilis, lengkap dengan kode dan hasil yang diperiksa.

Menampilkan →

Android * Analisis APK

Cara autentikator membuat kode masuk

Telusuri kode login enam digit Aegis dalam APK yang dirilis, lalu gerakkan jam demo untuk melihat mengapa kodenya berubah setiap 30 detik.

Baca studi kasus Android

Electron * Penelusuran fitur

Bagaimana Notion menyalin teks dan HTML

Telusuri JavaScript dalam paket Notion hingga papan klip sistem dan lihat bagaimana penyalinan mempertahankan data blok yang kaya.

Baca studi kasus Notion

Asli * Rekonstruksi

Perhitungan posisi suara kiri/kanan DX-Ball

Temukan bagaimana posisi bola menjadi suara kiri atau kanan dalam game Windows tahun 1996.

Baca studi kasus DX-Ball

Investigasi pertamamu

Coba REA di aplikasi kecil.

Unduh contoh Catatan kami, lacak ekspor CSV - nya, dan periksa satu input yang diubah.

Coba contoh terpandu

Pilih target Anda.

Panduan ini membahas penyiapan dan penyelidikan pertama untuk setiap jenis perangkat lunak.

Program kode mesin

Periksa fungsi, string, referensi, dan hubungan pemanggilan fungsi di executable dan pustaka.

Analisis panduan program kode mesin

JavaScript & Electron

Modul peta, rute, IPC, dan dependensi asli dari folder aplikasi atau arsip ASAR.

Alur kerja aplikasi

Aktivitas browser & waktu proses

Tangkap browser atau aktivitas proses yang dipilih, lalu bandingkan hasilnya di seluruh proses.

Panduan pengamatan browser
Coba proyek yang lebih besar
Contoh prompt * Situs web

Gunakan REA untuk memeriksa https://rea.tools/. Mengkloning situs web ini untuk saya.

Ya, yang ini.

Contoh prompt * Rekonstruksi game

Gunakan REA untuk merekonstruksi game ini dari yang dapat dieksekusi. Pulihkan logika gameplay di C dan uji dengan aslinya.

Lihat studi kasus DX-Ball →

Ada pertanyaan?

Atas