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 AndroidRekayasa balik, dengan agen pengkodean Anda
Tanyakan kepada agen pemrograman Anda tentang aplikasi, game, atau situs web. REA menyediakan alat untuk memeriksa kode di balik jawabannya.
Tempel prompt ini ke agen pemrograman 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.
npx rea-agents@latest setup
Periksa dan setujui rencana perubahan, lalu mulai ulang agen Anda.
Pertama kali, atau hilang Node.js atau agen pengkodean? Ikuti panduan penyiapan langkah demi langkah →
Rekam aplikasi web untuk melatih dan menguji agen.
Penyelidikan dan demo interaktif.
Metode dan catatan rekonstruksi.
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.
Berikan program atau halaman beserta pertanyaan kepada agen Anda.
REA membantu agen Anda membaca kode dan melihat apa yang dilakukan program saat berjalan.
Agen Anda menggunakan temuan untuk menjelaskan atau membuat ulang fitur tersebut.
Mengapa 200 + 10% menghasilkan 220 di Kalkulator?
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
Gunakan REA untuk memeriksa Windows Kalkulator. Mengapa 200 + 10% menghasilkan 220?
Setelah +, tombol % mengambil persentase dari angka pertama.
10% of 200 = 20200 + 20 = 220
Mari coba dua contoh: ubah kecepatan permainan, lalu buat ulang tombol % Kalkulator.
Contoh 01 * Game dinosaurus Chrome
Permainan makin cepat saat kamu terus berlari. Untuk membuatnya ulang dengan pengatur kecepatan, kita perlu tahu dulu bagaimana kecepatannya berubah.
Gunakan REA untuk memeriksa game dinosaurus ini. Mengapa menjadi lebih cepat? Tampilkan aturan kecepatan, lalu buat versi kecil dengan kecepatan yang dapat disesuaikan.
REA memungkinkan agen membaca kode permainan yang sedang berjalan. Kecepatan dimulai dari 6 dan naik sedikit setiap pembaruan selama masih di bawah 13.
Kami membuat ulang aturan itu dalam permainan kecil di bawah dan menambahkan penggeser kecepatan. Mulai bermain, lalu pilih kecepatanmu.
Aturan awal: mulai dari 6, lalu tingkatkan menjadi 13.
Target yang diperiksa: edisi peramban turunan Chromium wayou.
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
REA memeriksa edisi browser HTTP melalui koneksi debugging lokal dan mengembalikan yang dimuat index.js, termasuk sumber dan intisarinya.
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
Tombol % bekerja berbeda setelah + dan ×. Mari temukan kedua aturan dan mencobanya dalam kalkulator kecil.
Gunakan REA untuk memeriksa tombol % Kalkulator Windows. Pulihkan aturan setelah + dan ×
REA membantu agen membaca kode di balik tombol %. Kode ini menerapkan dua aturan berbeda:
10% of 200 = 20 → 200 + 20 = 220
200 × 0.1 = 20
Kami membuat ulang kedua aturan di bawah. Pilih + atau ×, tekan %, lalu tekan =.
10% dari 200 = 20. Kemudian 200 + 20 = 220.
Untuk contoh ini, previous = 200 dan current = 10.
if (operation == multiply || operation == divide) {
percent = current / 100;
} else {
percent = current * previous / 100;
}
Dari aplikasi yang diinstal ke tombol % yang berfungsi
ms-calculator:. Agen kemudian memilih pustaka aplikasi yang diinstal.
100.
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
#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
Jelajahi fitur dalam aplikasi atau game yang telah dirilis, lengkap dengan kode dan hasil yang diperiksa.
Android * Analisis APK
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 AndroidElectron * Penelusuran fitur
Telusuri JavaScript dalam paket Notion hingga papan klip sistem dan lihat bagaimana penyalinan mempertahankan data blok yang kaya.
Baca studi kasus NotionAsli * Rekonstruksi
Temukan bagaimana posisi bola menjadi suara kiri atau kanan dalam game Windows tahun 1996.
Baca studi kasus DX-BallUbah rekaman sesi aplikasi web menjadi lingkungan yang dapat dijalankan untuk melatih dan menguji agen AI.
Agen Anda merekam permintaan browser dan respons aplikasi. REA menggunakan data tersebut untuk membuat lingkungan lokal tempat agen dapat berlatih mengerjakan tugas tanpa menjalankan aplikasi aslinya.
Untuk mendukung penghapusan folder, rekaman harus menunjukkan folder sebelum dihapus dan memastikan folder tersebut sudah tidak ada setelahnya.
Setelah menyiapkan REA di agen, ganti URL contoh dan tugas folder di bawah sesuai aplikasi Anda:
Gunakan REA untuk membuat lingkungan RL dari aplikasi web uji saya di http://127.0.0.1:3000. Cakup daftar, pembuatan, penggantian nama, dan penghapusan folder. Boleh membuat dan menghapus folder uji, tetapi jangan ubah data yang sudah ada. Simpan dalam folder bernama my-env, periksa operasi yang berfungsi, dan beri tahu cara menjalankannya.
Contoh prompt. Ganti URL dan tugas folder sesuai aplikasi Anda.
Investigasi pertamamu
Unduh contoh Catatan kami, lacak ekspor CSV - nya, dan periksa satu input yang diubah.
Panduan ini membahas penyiapan dan penyelidikan pertama untuk setiap jenis perangkat lunak.
Periksa fungsi, string, referensi, dan hubungan pemanggilan fungsi di executable dan pustaka.
Analisis panduan program kode mesinTangkap browser atau aktivitas proses yang dipilih, lalu bandingkan hasilnya di seluruh proses.
Panduan pengamatan browserGunakan REA untuk memeriksa https://rea.tools/. Mengkloning situs web ini untuk saya.
Ya, yang ini.
Gunakan REA untuk merekonstruksi game ini dari yang dapat dieksekusi. Pulihkan logika gameplay di C dan uji dengan aslinya.
Baca FAQ untuk bantuan penyiapan dan jawaban atas pertanyaan umum.
Bergabunglah di Discord untuk mendapatkan bantuan dan mendiskusikan analisis Anda.
Laporkan bug atau ajukan fitur melalui GitHub Issues.