{"content_id":"mqxmod7ehz","slug":"rea-ai-reverse-engineering-performance-and-limits","locale":"id","schema_type":"TechArticle","category":"knowledge_base","category_name":"Basis Pengetahuan","title":"REA AI untuk Rekayasa Balik: Cara Kerja dan Batas Kinerja","summary":"REA adalah alat yang menghubungkan agen AI dengan alat rekayasa balik untuk menyelidiki cara kerja perangkat lunak. Penjelasan ini membedakan cakupan verifikasi contoh yang dipublikasikan dari keterbatasan analisis server, serta membahas keamanan, hak cipta, dan kemampuan hasil analisis untuk direproduksi.","sponsorship_disclosure":null,"affiliate_disclosure":null,"commerce_disclosure":null,"author":{"name":"injoys","url":"https://injoys.com/ko/about"},"key_points":["REA menghubungkan agen AI agar dapat memanggil alat rekayasa balik melalui MCP.","Memahami cara kerja berkas yang dapat dieksekusi berbeda dari memulihkan kode sumber aslinya.","Contoh DX-Ball yang dipublikasikan menunjukkan hasil verifikasi fungsi tertentu, bukan berarti pemulihan seluruh game telah selesai.","Kode server atau model privat yang tidak disertakan dalam aplikasi tidak dapat diperoleh hanya dengan menganalisis aplikasi.","Hasil analisis harus menyertakan bukti dan cakupan yang belum diverifikasi, lalu perilakunya dibandingkan dengan versi asli."],"content_markdown":"REA menghubungkan AI dengan alat rekayasa balik agar AI dapat memanggil alat tersebut untuk menyelidiki cara kerja aplikasi. Kasus yang dipublikasikan menunjukkan bahwa fitur tertentu dapat dianalisis dan berpotensi diimplementasikan ulang. Kasus tersebut sulit dianggap sebagai bukti berakhirnya industri perangkat lunak atau kemampuan menyalin seluruh layanan.\n\nAngka verifikasi DX-Ball mengacu pada catatan perkembangan kasus resmi per 7 Oktober 2026.\n\n## Apa itu REA\n\nREA adalah singkatan dari Reverse Engineer Anything. Ini adalah proyek yang menghubungkan alat analisis perangkat lunak dengan agen AI. REA bukan satu model AI yang melakukan seluruh analisis sendiri.\n\nRekayasa balik adalah pekerjaan menelusuri struktur dan cara kerja perangkat lunak yang sudah jadi. Tujuannya adalah memahami hal-hal yang diperlukan untuk menjelaskan suatu fungsi atau memastikan kompatibilitas.\n\nKompilasi adalah proses mengubah kode yang ditulis manusia menjadi bentuk yang dapat dijalankan. Dalam proses ini, komentar dan sebagian informasi nama dapat hilang. Optimalisasi juga dapat mengubah bentuk fungsi atau rumus perhitungan.\n\nNamun, tidak semua aplikasi hanya menyisakan kode mesin tanpa nama. Ada juga paket distribusi yang memuat kode JavaScript atau informasi debugging. Karena itu, metode analisis bergantung pada format berkas dan informasi yang masih tersedia.\n\n| Istilah | Penjelasan sederhana | Hal yang perlu diperhatikan saat membaca hasil |\n| --- | --- | --- |\n| Disassembly | Menampilkan kode mesin sebagai instruksi assembly | Tujuan instruksi masih perlu ditafsirkan |\n| Dekompilasi | Menampilkan kode yang dapat dijalankan dalam bentuk mirip kode sumber | Tidak ada jaminan bentuknya sama dengan kode sumber asli |\n| Analisis statis | Memeriksa berkas tanpa menjalankan program | Perlu dibedakan dari alur yang benar-benar dijalankan |\n| Analisis dinamis | Mengamati perilaku saat program dijalankan | Perilaku di luar kondisi yang diamati belum terverifikasi |\n| Implementasi ulang | Menulis perilaku yang telah dipahami dalam kode baru | Perlu diverifikasi dengan membandingkannya dengan versi asli |\n\n## Bagaimana AI dan Ghidra terhubung\n\nREA meneruskan permintaan analisis dari agen ke alat melalui MCP. MCP adalah spesifikasi koneksi agar AI dan alat eksternal dapat saling mengirim permintaan dan hasil. Ghidra adalah alat rekayasa balik untuk memeriksa berkas yang dapat dijalankan.\n\nREADME resmi juga menjelaskan integrasi dengan Hopper dan IDA selain Ghidra. Analisis statis JavaScript tidak memerlukan mesin analisis native. Jadi, menjelaskan kemampuan REA hanya sebagai pengoperasian otomatis Ghidra akan mempersempit cakupannya.\n\nAnalisis biasanya berlangsung dalam urutan berikut.\n\n1. Tentukan aplikasi dan fitur yang akan diperiksa.\n2. Cari bagian terkait melalui string atau pemanggilan fungsi.\n3. Telusuri instruksi dan aliran data untuk menafsirkan cara kerjanya.\n4. Periksa bukti yang belum cukup dengan memanggil alat tambahan.\n5. Bandingkan hasil implementasi ulang dengan perilaku versi asli.\n\nGhidra sudah memiliki fitur analisis otomatis sebelumnya. REA menghubungkannya agar agen dapat melanjutkan permintaan analisis. Akurasi sebenarnya bergantung pada target, mesin analisis, model, dan metode verifikasi.\n\n## Cakupan analisis menurut kondisi\n\nApa yang dapat diperiksa dengan REA bergantung pada berkas dan lingkungan eksekusi yang dapat diakses. Aplikasi lokal mungkin memuat kode yang berkomunikasi dengan server. Itu tidak berarti kode tersebut juga memuat implementasi internal server.\n\n| Target analisis | Hal yang dapat diperiksa | Hal yang tidak dapat dipastikan hanya dari analisis |\n| --- | --- | --- |\n| Berkas lokal yang dapat dijalankan | Rumus perhitungan, string, hubungan antarpemanggilan fungsi | Seluruh komentar asli dan maksud perancangannya |\n| Aplikasi JavaScript·Electron | Struktur modul, hubungan antara tampilan dan pemrosesan internal | Logika pemrosesan yang hanya ada di server |\n| Halaman web dan catatan komunikasi | Skrip yang diunduh, permintaan dan respons yang diamati | Seluruh kode sumber server dan basis data |\n| Berkas model yang disertakan secara lokal | Struktur dan informasi berkas yang dapat diakses | Model privat yang hanya digunakan di server |\n| Fitur yang diamati saat berjalan | Perilaku pada input dan lingkungan tersebut | Perilaku pada semua input dan kondisi gangguan |\n\nImplementasi ulang suatu layanan juga memerlukan persyaratan di luar fitur yang diamati. Perilaku seperti hak akses akun dan penanganan kesalahan adalah contohnya. Sekalipun tampilannya bekerja dengan cara yang mirip, seluruh layanannya tidak dapat dianggap sama.\n\n## Cakupan verifikasi eksperimen kalkulator 8 menit 41 detik\n\nAngka 8 menit 41 detik adalah klaim demonstrasi yang catatan aslinya belum terverifikasi. Jumlah pemanggilan alat yang disebutkan bersamanya adalah 17 kali. Klaim bahwa 4 aturan perhitungan ditemukan juga belum dapat diverifikasi secara independen.\n\nKondisi pengujian perlu diperiksa melalui video asli dan catatan eksekusi. Waktu yang dibutuhkan berbeda menurut model dan ukuran program. Satu keberhasilan saja tidak cukup untuk menilai kecepatan atau akurasi analisis secara umum.\n\nDalam analisis kalkulator, verifikasi tidak selesai hanya dengan membaca rumus. Urutan penerapan diskon dan kupon dapat mengubah hasil. Pembulatan ke bawah pada pembagian bilangan bulat juga harus diperiksa secara terpisah.\n\n- Urutan penerapan diskon dan kupon\n- Jumlah yang menjadi dasar perhitungan pajak\n- Tahap pembulatan atau pembulatan ke bawah dalam perhitungan antara\n- Keluaran pada nilai batas saat kondisi berubah\n- Catatan perbandingan dengan memasukkan input yang sama ke versi asli dan kode implementasi ulang\n\nUntuk membuktikan analisis yang cepat, diperlukan pula catatan selain jawaban yang berhasil. Eksekusi yang gagal dan jumlah percobaan ulang memengaruhi perbandingan. Berdasarkan bukti yang saat ini telah diperiksa, sulit membuat penilaian umum bahwa kemampuannya lebih baik daripada manusia.\n\n## Hasil yang terverifikasi dalam kasus publik\n\nKasus resmi memperlihatkan alur clipboard Notion dan fungsi perhitungan DX-Ball. Kedua kasus menyebutkan cakupan fitur yang diperiksa. Perlu pula dibedakan bahwa catatan tersebut diterbitkan oleh proyek REA.\n\n| Kasus | Pekerjaan yang terverifikasi dalam dokumen publik | Hal yang tidak boleh ditafsirkan terlalu jauh |\n| --- | --- | --- |\n| Notion Desktop 7.6.1 | Penelusuran alur dari pemanggilan internal aplikasi hingga clipboard sistem | Penyalinan seluruh layanan Notion |\n| DX-Ball 1.07 | Implementasi ulang fungsi yang mengubah posisi di layar menjadi nilai audio kiri dan kanan | Pemulihan seluruh game telah selesai |\n| Aplikasi pengganti ringan untuk Razer Synapse | Dalam pemeriksaan ini, catatan verifikasi konkret terhadap versi asli belum ditemukan | Menyatakannya sebagai hasil REA yang telah diverifikasi secara resmi |\n| Editor slide terkait Claude | Dalam pemeriksaan ini, target dan cakupan implementasi ulang belum terverifikasi | Menafsirkannya sebagai pemulihan model privat Claude |\n\nKasus Notion menelusuri proses pemanggilan dari sisi tampilan yang melewati komunikasi internal. Pada akhirnya, alur tersebut terhubung ke fitur penulisan clipboard Electron. Ini adalah contoh yang menjelaskan alur pemrosesan suatu fitur tertentu.\n\nKasus DX-Ball memeriksa input fungsi dan konstanta perhitungan dari berkas yang dapat dijalankan. Pengujian perbandingan untuk fungsi tersebut berjumlah **3,205 kasus**. Hasil kompilasi yang memperhitungkan penanganan relokasi yang telah ditinjau cocok sepanjang 63 byte.\n\nCatatan ini mendukung implementasi ulang fungsi tertentu. Dokumen resmi menjelaskan bahwa pemulihan seluruh game agar dapat dijalankan masih berlangsung. Verifikasi beberapa fungsi harus dibedakan dari penyelesaian seluruh produk.\n\n## Apa yang dijamin oleh penandaan observasi dan inferensi\n\nPenandaan bukti membantu membedakan asal suatu kesimpulan. Dokumen REA membedakan observasi, inferensi, dan informasi yang belum terverifikasi. Namun, tidak semua alat menggunakan empat label yang sama.\n\nDokumen resmi memakai status dan cara menyatakan tingkat keyakinan yang berbeda menurut jenis analisis. Saat membacanya, pemisahan makna berikut dapat membantu. Kategori dalam tabel ini disajikan untuk mempermudah pemahaman.\n\n| Kategori | Makna | Hal yang perlu diperiksa |\n| --- | --- | --- |\n| Observasi | Diperiksa langsung dari berkas atau hasil eksekusi | Versi target dan lokasi bukti |\n| Hasil turunan | Kesimpulan yang dihitung dari nilai dan hubungan yang diamati | Proses perhitungan dan asumsi |\n| Perkiraan | Tafsiran yang memerlukan pemeriksaan tambahan | Kemungkinan penjelasan lain |\n| Belum terverifikasi | Bagian yang belum memiliki bukti | Cakupan pemeriksaan dan alasan verifikasi gagal |\n\nDISCLAIMER.md resmi menyatakan keterbatasan hasil analisis.\n\n\u003e Decompilation, reconstruction, heuristics, and AI-assisted analysis may be incomplete or incorrect.\n\u003e\n\u003e Sumber: REA DISCLAIMER.md\n\nArtinya, dekompilasi dan analisis AI mungkin tidak lengkap atau keliru. Label observasi pun tidak menghilangkan kemungkinan kesalahan alat. Nilai penandaan bukti terletak pada tersedianya lokasi yang dapat diperiksa kembali.\n\n## Kesalahan yang umum terjadi\n\nKesalahpahaman yang paling umum adalah menganggap hasil yang dapat dijelaskan sudah selesai diverifikasi. Kode yang mudah dibaca mungkin berperilaku berbeda dari versi asli. Alur yang belum diperiksa harus dicatat secara terpisah.\n\n| Kesalahpahaman | Tafsiran yang lebih tepat |\n| --- | --- |\n| Dekompilasi mengembalikan kode sumber asli | Sering kali yang diperoleh adalah bentuk yang mirip kode sumber |\n| Karena ada alurnya dalam kode, alur itu pasti pernah dijalankan | Keterhubungan statis berbeda dari pengamatan saat eksekusi |\n| Karena tidak ditemukan, fitur itu tidak ada | Cakupan pemeriksaan atau dukungan alat mungkin belum memadai |\n| Karena alat selesai dengan status berhasil, analisisnya lengkap | Hasil yang berhasil pun mungkin masih menyisakan hal yang belum terverifikasi |\n| Karena hasilnya disertai bukti, tidak ada halusinasi | Bukti dan penafsirannya perlu diperiksa bersama |\n\nDokumen CLI REA juga membedakan status berhasil saat selesai dari kelengkapan analisis. Meski pekerjaan selesai, beberapa bukti atau pertanyaan mungkin tetap belum terjawab. Periksalah batasan hasil, bukan hanya pesan selesai.\n\n## Catatan yang memungkinkan hasil analisis diverifikasi ulang\n\nAnalisis yang dapat direproduksi perlu menyimpan kondisi saat kesimpulan diperoleh. Kode dapat berubah setelah pembaruan meskipun nama aplikasinya sama. Jika hanya alamat fungsi yang dicatat, target akan sulit ditemukan pada versi lain.\n\nCatatan Evidence REA menyimpan informasi identitas target dan lokasi bukti. Snapshot adalah fitur untuk menggunakan kembali hasil analisis jika kondisinya sesuai. Hasil yang tersimpan tidak berarti sudah diverifikasi untuk versi terbaru.\n\nUntuk menyimpan catatan verifikasi, ikuti urutan berikut.\n\n1. Catat versi dan hash berkas target.\n2. Catat versi REA dan mesin analisis.\n3. Hubungkan setiap kesimpulan dengan lokasi berkas atau alamat fungsi.\n4. Simpan bersama input dan output dari versi asli dan kode implementasi ulang.\n5. Catat secara terpisah kondisi yang tidak dapat diperiksa dan pengujian yang gagal.\n\nHash adalah nilai pengenal untuk membandingkan apakah berkasnya sama. Dengan menyimpannya, kita dapat menelusuri paket distribusi mana yang menjadi dasar penjelasan. Cakupan penerapannya juga dapat dibedakan ketika AI mengutip hasil tersebut di kemudian hari.\n\n## Analisis lokal dan pengiriman data ke luar\n\nMelakukan analisis secara lokal tidak berarti seluruh pekerjaan bebas dari pengiriman data ke luar. Menurut README resmi, analisis target oleh REA berlangsung secara lokal. Hasil dari alat diterima oleh agen AI yang terhubung.\n\nJika model eksternal digunakan, hasil analisis mungkin dikirim kepada penyedia model. Kebijakan data yang berlaku bergantung pada layanan yang dihubungkan. Untuk aplikasi perusahaan atau berkas privat, periksalah terlebih dahulu jalur pengiriman datanya.\n\n- Cakupan kode dan string yang dikirim ke model\n- Informasi akun dan token akses yang terdapat dalam log\n- Data pribadi yang terdapat dalam catatan komunikasi\n- Lokasi penyimpanan hasil analisis dan kebijakan retensinya\n\nPemeriksaan berkas statis juga harus dibedakan dari menjalankan program. Pengamatan saat program berjalan dapat memengaruhi keadaan berkas atau akun. Tangani program yang tidak tepercaya dalam lingkungan pengujian yang terpisah.\n\n## Keamanan dan hak yang perlu diperiksa pengembang\n\nInformasi rahasia yang dimasukkan ke aplikasi dapat terungkap melalui rekayasa balik. OWASP menjelaskan masalah penyertaan informasi sensitif dalam paket distribusi. Risiko ini sudah ada sebelum REA muncul.\n\nKhususnya, kunci API rahasia yang memiliki hak akses server tidak boleh disertakan dalam aplikasi. OWASP menganjurkan agar nilai rahasia yang tetap disimpan di sisi server. Obfuscation dapat mempersulit ekstraksi, tetapi tidak menjamin kerahasiaan.\n\n- Periksa kata sandi dan kunci rahasia yang disertakan dalam berkas distribusi.\n- Batasi hak akses dan masa berlaku token autentikasi.\n- Verifikasi hak akses peminta di server.\n- Ganti kredensial yang telah terungkap.\n\nCakupan rekayasa balik yang diizinkan berbeda menurut negara, kontrak, dan pekerjaan yang dilakukan. Tidak dapat dipastikan bahwa semua tindakan diperbolehkan hanya karena tujuannya kompatibilitas. Analisis serta distribusi ulang kode dan gambar harus ditinjau secara terpisah.\n\nLisensi MIT REA tidak memberikan hak atas perangkat lunak yang dianalisis. Prinsip penggunaan proyek dapat diperiksa dalam DISCLAIMER.md resmi. Periksalah cakupan yang benar-benar diizinkan berdasarkan hukum yang berlaku dan ketentuan perangkat lunak target.\n\n## Perubahan apa yang terjadi pada industri perangkat lunak\n\nREA menunjukkan kemungkinan turunnya biaya untuk memahami fitur yang sudah ada. Ini adalah prospek yang dapat ditarik dari kasus analisis yang dipublikasikan. Belum ada angka terverifikasi mengenai besarnya penghematan biaya di seluruh industri.\n\nMengetahui cara beberapa fitur diimplementasikan berbeda dari kemampuan mengoperasikan layanan. Kualitas data dan penanganan gangguan tidak dapat disalin hanya dengan menganalisis berkas yang dapat dijalankan. Karena itu, kemudahan meniru fitur dan daya saing bisnis harus dinilai secara terpisah.\n\n| Unsur bisnis | Implikasi yang ditarik dari cakupan analisis REA |\n| --- | --- |\n| Satu fitur internal aplikasi | Kemungkinan berkurangnya beban untuk menyelidiki cara implementasi dan mengimplementasikannya ulang |\n| Pemrosesan yang hanya ada di server | Sulit diperoleh hanya melalui analisis klien |\n| Data dan hak akses | Perlu diperoleh dan dikelola secara terpisah dari pemahaman kode |\n| Stabilitas dan kepercayaan operasional | Pengujian, pemeliharaan, dan penanganan gangguan tetap diperlukan |\n| Pelestarian perangkat lunak lama | Pemulihan dapat dilakukan mulai dari fitur kecil sambil menyimpan bukti |\n\nKasus publik REA menunjukkan perubahan dalam cara memahami perangkat lunak. Kasus tersebut bukan bukti bahwa kebutuhan akan pengembangan akan hilang. Setelah suatu fitur diimplementasikan ulang, kompatibilitas dan kualitas operasionalnya tetap harus diverifikasi.","content_html":"\u003cp\u003eREA menghubungkan AI dengan alat rekayasa balik agar AI dapat memanggil alat tersebut untuk menyelidiki cara kerja aplikasi. Kasus yang dipublikasikan menunjukkan bahwa fitur tertentu dapat dianalisis dan berpotensi diimplementasikan ulang. Kasus tersebut sulit dianggap sebagai bukti berakhirnya industri perangkat lunak atau kemampuan menyalin seluruh layanan.\u003c/p\u003e\n\u003cp\u003eAngka verifikasi DX-Ball mengacu pada catatan perkembangan kasus resmi per 7 Oktober 2026.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#apa-itu-rea\" class=\"anchor\" id=\"apa-itu-rea\"\u003e\u003c/a\u003eApa itu REA\u003c/h2\u003e\n\u003cp\u003eREA adalah singkatan dari Reverse Engineer Anything. Ini adalah proyek yang menghubungkan alat analisis perangkat lunak dengan agen AI. REA bukan satu model AI yang melakukan seluruh analisis sendiri.\u003c/p\u003e\n\u003cp\u003eRekayasa balik adalah pekerjaan menelusuri struktur dan cara kerja perangkat lunak yang sudah jadi. Tujuannya adalah memahami hal-hal yang diperlukan untuk menjelaskan suatu fungsi atau memastikan kompatibilitas.\u003c/p\u003e\n\u003cp\u003eKompilasi adalah proses mengubah kode yang ditulis manusia menjadi bentuk yang dapat dijalankan. Dalam proses ini, komentar dan sebagian informasi nama dapat hilang. Optimalisasi juga dapat mengubah bentuk fungsi atau rumus perhitungan.\u003c/p\u003e\n\u003cp\u003eNamun, tidak semua aplikasi hanya menyisakan kode mesin tanpa nama. Ada juga paket distribusi yang memuat kode JavaScript atau informasi debugging. Karena itu, metode analisis bergantung pada format berkas dan informasi yang masih tersedia.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eIstilah\u003c/th\u003e\n\u003cth\u003ePenjelasan sederhana\u003c/th\u003e\n\u003cth\u003eHal yang perlu diperhatikan saat membaca hasil\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Istilah\"\u003eDisassembly\u003c/td\u003e\n\u003ctd data-label=\"Penjelasan sederhana\"\u003eMenampilkan kode mesin sebagai instruksi assembly\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan saat membaca hasil\"\u003eTujuan instruksi masih perlu ditafsirkan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Istilah\"\u003eDekompilasi\u003c/td\u003e\n\u003ctd data-label=\"Penjelasan sederhana\"\u003eMenampilkan kode yang dapat dijalankan dalam bentuk mirip kode sumber\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan saat membaca hasil\"\u003eTidak ada jaminan bentuknya sama dengan kode sumber asli\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Istilah\"\u003eAnalisis statis\u003c/td\u003e\n\u003ctd data-label=\"Penjelasan sederhana\"\u003eMemeriksa berkas tanpa menjalankan program\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan saat membaca hasil\"\u003ePerlu dibedakan dari alur yang benar-benar dijalankan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Istilah\"\u003eAnalisis dinamis\u003c/td\u003e\n\u003ctd data-label=\"Penjelasan sederhana\"\u003eMengamati perilaku saat program dijalankan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan saat membaca hasil\"\u003ePerilaku di luar kondisi yang diamati belum terverifikasi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Istilah\"\u003eImplementasi ulang\u003c/td\u003e\n\u003ctd data-label=\"Penjelasan sederhana\"\u003eMenulis perilaku yang telah dipahami dalam kode baru\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan saat membaca hasil\"\u003ePerlu diverifikasi dengan membandingkannya dengan versi asli\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\n\u003ca href=\"#bagaimana-ai-dan-ghidra-terhubung\" class=\"anchor\" id=\"bagaimana-ai-dan-ghidra-terhubung\"\u003e\u003c/a\u003eBagaimana AI dan Ghidra terhubung\u003c/h2\u003e\n\u003cp\u003eREA meneruskan permintaan analisis dari agen ke alat melalui MCP. MCP adalah spesifikasi koneksi agar AI dan alat eksternal dapat saling mengirim permintaan dan hasil. Ghidra adalah alat rekayasa balik untuk memeriksa berkas yang dapat dijalankan.\u003c/p\u003e\n\u003cp\u003eREADME resmi juga menjelaskan integrasi dengan Hopper dan IDA selain Ghidra. Analisis statis JavaScript tidak memerlukan mesin analisis native. Jadi, menjelaskan kemampuan REA hanya sebagai pengoperasian otomatis Ghidra akan mempersempit cakupannya.\u003c/p\u003e\n\u003cp\u003eAnalisis biasanya berlangsung dalam urutan berikut.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eTentukan aplikasi dan fitur yang akan diperiksa.\u003c/li\u003e\n\u003cli\u003eCari bagian terkait melalui string atau pemanggilan fungsi.\u003c/li\u003e\n\u003cli\u003eTelusuri instruksi dan aliran data untuk menafsirkan cara kerjanya.\u003c/li\u003e\n\u003cli\u003ePeriksa bukti yang belum cukup dengan memanggil alat tambahan.\u003c/li\u003e\n\u003cli\u003eBandingkan hasil implementasi ulang dengan perilaku versi asli.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eGhidra sudah memiliki fitur analisis otomatis sebelumnya. REA menghubungkannya agar agen dapat melanjutkan permintaan analisis. Akurasi sebenarnya bergantung pada target, mesin analisis, model, dan metode verifikasi.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#cakupan-analisis-menurut-kondisi\" class=\"anchor\" id=\"cakupan-analisis-menurut-kondisi\"\u003e\u003c/a\u003eCakupan analisis menurut kondisi\u003c/h2\u003e\n\u003cp\u003eApa yang dapat diperiksa dengan REA bergantung pada berkas dan lingkungan eksekusi yang dapat diakses. Aplikasi lokal mungkin memuat kode yang berkomunikasi dengan server. Itu tidak berarti kode tersebut juga memuat implementasi internal server.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eTarget analisis\u003c/th\u003e\n\u003cth\u003eHal yang dapat diperiksa\u003c/th\u003e\n\u003cth\u003eHal yang tidak dapat dipastikan hanya dari analisis\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Target analisis\"\u003eBerkas lokal yang dapat dijalankan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang dapat diperiksa\"\u003eRumus perhitungan, string, hubungan antarpemanggilan fungsi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak dapat dipastikan hanya dari analisis\"\u003eSeluruh komentar asli dan maksud perancangannya\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Target analisis\"\u003eAplikasi JavaScript·Electron\u003c/td\u003e\n\u003ctd data-label=\"Hal yang dapat diperiksa\"\u003eStruktur modul, hubungan antara tampilan dan pemrosesan internal\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak dapat dipastikan hanya dari analisis\"\u003eLogika pemrosesan yang hanya ada di server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Target analisis\"\u003eHalaman web dan catatan komunikasi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang dapat diperiksa\"\u003eSkrip yang diunduh, permintaan dan respons yang diamati\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak dapat dipastikan hanya dari analisis\"\u003eSeluruh kode sumber server dan basis data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Target analisis\"\u003eBerkas model yang disertakan secara lokal\u003c/td\u003e\n\u003ctd data-label=\"Hal yang dapat diperiksa\"\u003eStruktur dan informasi berkas yang dapat diakses\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak dapat dipastikan hanya dari analisis\"\u003eModel privat yang hanya digunakan di server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Target analisis\"\u003eFitur yang diamati saat berjalan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang dapat diperiksa\"\u003ePerilaku pada input dan lingkungan tersebut\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak dapat dipastikan hanya dari analisis\"\u003ePerilaku pada semua input dan kondisi gangguan\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eImplementasi ulang suatu layanan juga memerlukan persyaratan di luar fitur yang diamati. Perilaku seperti hak akses akun dan penanganan kesalahan adalah contohnya. Sekalipun tampilannya bekerja dengan cara yang mirip, seluruh layanannya tidak dapat dianggap sama.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#cakupan-verifikasi-eksperimen-kalkulator-8-menit-41-detik\" class=\"anchor\" id=\"cakupan-verifikasi-eksperimen-kalkulator-8-menit-41-detik\"\u003e\u003c/a\u003eCakupan verifikasi eksperimen kalkulator 8 menit 41 detik\u003c/h2\u003e\n\u003cp\u003eAngka 8 menit 41 detik adalah klaim demonstrasi yang catatan aslinya belum terverifikasi. Jumlah pemanggilan alat yang disebutkan bersamanya adalah 17 kali. Klaim bahwa 4 aturan perhitungan ditemukan juga belum dapat diverifikasi secara independen.\u003c/p\u003e\n\u003cp\u003eKondisi pengujian perlu diperiksa melalui video asli dan catatan eksekusi. Waktu yang dibutuhkan berbeda menurut model dan ukuran program. Satu keberhasilan saja tidak cukup untuk menilai kecepatan atau akurasi analisis secara umum.\u003c/p\u003e\n\u003cp\u003eDalam analisis kalkulator, verifikasi tidak selesai hanya dengan membaca rumus. Urutan penerapan diskon dan kupon dapat mengubah hasil. Pembulatan ke bawah pada pembagian bilangan bulat juga harus diperiksa secara terpisah.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUrutan penerapan diskon dan kupon\u003c/li\u003e\n\u003cli\u003eJumlah yang menjadi dasar perhitungan pajak\u003c/li\u003e\n\u003cli\u003eTahap pembulatan atau pembulatan ke bawah dalam perhitungan antara\u003c/li\u003e\n\u003cli\u003eKeluaran pada nilai batas saat kondisi berubah\u003c/li\u003e\n\u003cli\u003eCatatan perbandingan dengan memasukkan input yang sama ke versi asli dan kode implementasi ulang\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eUntuk membuktikan analisis yang cepat, diperlukan pula catatan selain jawaban yang berhasil. Eksekusi yang gagal dan jumlah percobaan ulang memengaruhi perbandingan. Berdasarkan bukti yang saat ini telah diperiksa, sulit membuat penilaian umum bahwa kemampuannya lebih baik daripada manusia.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#hasil-yang-terverifikasi-dalam-kasus-publik\" class=\"anchor\" id=\"hasil-yang-terverifikasi-dalam-kasus-publik\"\u003e\u003c/a\u003eHasil yang terverifikasi dalam kasus publik\u003c/h2\u003e\n\u003cp\u003eKasus resmi memperlihatkan alur clipboard Notion dan fungsi perhitungan DX-Ball. Kedua kasus menyebutkan cakupan fitur yang diperiksa. Perlu pula dibedakan bahwa catatan tersebut diterbitkan oleh proyek REA.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eKasus\u003c/th\u003e\n\u003cth\u003ePekerjaan yang terverifikasi dalam dokumen publik\u003c/th\u003e\n\u003cth\u003eHal yang tidak boleh ditafsirkan terlalu jauh\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kasus\"\u003eNotion Desktop 7.6.1\u003c/td\u003e\n\u003ctd data-label=\"Pekerjaan yang terverifikasi dalam dokumen publik\"\u003ePenelusuran alur dari pemanggilan internal aplikasi hingga clipboard sistem\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak boleh ditafsirkan terlalu jauh\"\u003ePenyalinan seluruh layanan Notion\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kasus\"\u003eDX-Ball 1.07\u003c/td\u003e\n\u003ctd data-label=\"Pekerjaan yang terverifikasi dalam dokumen publik\"\u003eImplementasi ulang fungsi yang mengubah posisi di layar menjadi nilai audio kiri dan kanan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak boleh ditafsirkan terlalu jauh\"\u003ePemulihan seluruh game telah selesai\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kasus\"\u003eAplikasi pengganti ringan untuk Razer Synapse\u003c/td\u003e\n\u003ctd data-label=\"Pekerjaan yang terverifikasi dalam dokumen publik\"\u003eDalam pemeriksaan ini, catatan verifikasi konkret terhadap versi asli belum ditemukan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak boleh ditafsirkan terlalu jauh\"\u003eMenyatakannya sebagai hasil REA yang telah diverifikasi secara resmi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kasus\"\u003eEditor slide terkait Claude\u003c/td\u003e\n\u003ctd data-label=\"Pekerjaan yang terverifikasi dalam dokumen publik\"\u003eDalam pemeriksaan ini, target dan cakupan implementasi ulang belum terverifikasi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang tidak boleh ditafsirkan terlalu jauh\"\u003eMenafsirkannya sebagai pemulihan model privat Claude\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eKasus Notion menelusuri proses pemanggilan dari sisi tampilan yang melewati komunikasi internal. Pada akhirnya, alur tersebut terhubung ke fitur penulisan clipboard Electron. Ini adalah contoh yang menjelaskan alur pemrosesan suatu fitur tertentu.\u003c/p\u003e\n\u003cp\u003eKasus DX-Ball memeriksa input fungsi dan konstanta perhitungan dari berkas yang dapat dijalankan. Pengujian perbandingan untuk fungsi tersebut berjumlah \u003cstrong\u003e3,205 kasus\u003c/strong\u003e. Hasil kompilasi yang memperhitungkan penanganan relokasi yang telah ditinjau cocok sepanjang 63 byte.\u003c/p\u003e\n\u003cp\u003eCatatan ini mendukung implementasi ulang fungsi tertentu. Dokumen resmi menjelaskan bahwa pemulihan seluruh game agar dapat dijalankan masih berlangsung. Verifikasi beberapa fungsi harus dibedakan dari penyelesaian seluruh produk.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#apa-yang-dijamin-oleh-penandaan-observasi-dan-inferensi\" class=\"anchor\" id=\"apa-yang-dijamin-oleh-penandaan-observasi-dan-inferensi\"\u003e\u003c/a\u003eApa yang dijamin oleh penandaan observasi dan inferensi\u003c/h2\u003e\n\u003cp\u003ePenandaan bukti membantu membedakan asal suatu kesimpulan. Dokumen REA membedakan observasi, inferensi, dan informasi yang belum terverifikasi. Namun, tidak semua alat menggunakan empat label yang sama.\u003c/p\u003e\n\u003cp\u003eDokumen resmi memakai status dan cara menyatakan tingkat keyakinan yang berbeda menurut jenis analisis. Saat membacanya, pemisahan makna berikut dapat membantu. Kategori dalam tabel ini disajikan untuk mempermudah pemahaman.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eKategori\u003c/th\u003e\n\u003cth\u003eMakna\u003c/th\u003e\n\u003cth\u003eHal yang perlu diperiksa\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003eObservasi\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eDiperiksa langsung dari berkas atau hasil eksekusi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa\"\u003eVersi target dan lokasi bukti\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003eHasil turunan\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eKesimpulan yang dihitung dari nilai dan hubungan yang diamati\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa\"\u003eProses perhitungan dan asumsi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003ePerkiraan\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eTafsiran yang memerlukan pemeriksaan tambahan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa\"\u003eKemungkinan penjelasan lain\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003eBelum terverifikasi\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eBagian yang belum memiliki bukti\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperiksa\"\u003eCakupan pemeriksaan dan alasan verifikasi gagal\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eDISCLAIMER.md resmi menyatakan keterbatasan hasil analisis.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eDecompilation, reconstruction, heuristics, and AI-assisted analysis may be incomplete or incorrect.\u003c/p\u003e\n\u003cp\u003eSumber: REA DISCLAIMER.md\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eArtinya, dekompilasi dan analisis AI mungkin tidak lengkap atau keliru. Label observasi pun tidak menghilangkan kemungkinan kesalahan alat. Nilai penandaan bukti terletak pada tersedianya lokasi yang dapat diperiksa kembali.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#kesalahan-yang-umum-terjadi\" class=\"anchor\" id=\"kesalahan-yang-umum-terjadi\"\u003e\u003c/a\u003eKesalahan yang umum terjadi\u003c/h2\u003e\n\u003cp\u003eKesalahpahaman yang paling umum adalah menganggap hasil yang dapat dijelaskan sudah selesai diverifikasi. Kode yang mudah dibaca mungkin berperilaku berbeda dari versi asli. Alur yang belum diperiksa harus dicatat secara terpisah.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eKesalahpahaman\u003c/th\u003e\n\u003cth\u003eTafsiran yang lebih tepat\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kesalahpahaman\"\u003eDekompilasi mengembalikan kode sumber asli\u003c/td\u003e\n\u003ctd data-label=\"Tafsiran yang lebih tepat\"\u003eSering kali yang diperoleh adalah bentuk yang mirip kode sumber\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kesalahpahaman\"\u003eKarena ada alurnya dalam kode, alur itu pasti pernah dijalankan\u003c/td\u003e\n\u003ctd data-label=\"Tafsiran yang lebih tepat\"\u003eKeterhubungan statis berbeda dari pengamatan saat eksekusi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kesalahpahaman\"\u003eKarena tidak ditemukan, fitur itu tidak ada\u003c/td\u003e\n\u003ctd data-label=\"Tafsiran yang lebih tepat\"\u003eCakupan pemeriksaan atau dukungan alat mungkin belum memadai\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kesalahpahaman\"\u003eKarena alat selesai dengan status berhasil, analisisnya lengkap\u003c/td\u003e\n\u003ctd data-label=\"Tafsiran yang lebih tepat\"\u003eHasil yang berhasil pun mungkin masih menyisakan hal yang belum terverifikasi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kesalahpahaman\"\u003eKarena hasilnya disertai bukti, tidak ada halusinasi\u003c/td\u003e\n\u003ctd data-label=\"Tafsiran yang lebih tepat\"\u003eBukti dan penafsirannya perlu diperiksa bersama\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eDokumen CLI REA juga membedakan status berhasil saat selesai dari kelengkapan analisis. Meski pekerjaan selesai, beberapa bukti atau pertanyaan mungkin tetap belum terjawab. Periksalah batasan hasil, bukan hanya pesan selesai.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#catatan-yang-memungkinkan-hasil-analisis-diverifikasi-ulang\" class=\"anchor\" id=\"catatan-yang-memungkinkan-hasil-analisis-diverifikasi-ulang\"\u003e\u003c/a\u003eCatatan yang memungkinkan hasil analisis diverifikasi ulang\u003c/h2\u003e\n\u003cp\u003eAnalisis yang dapat direproduksi perlu menyimpan kondisi saat kesimpulan diperoleh. Kode dapat berubah setelah pembaruan meskipun nama aplikasinya sama. Jika hanya alamat fungsi yang dicatat, target akan sulit ditemukan pada versi lain.\u003c/p\u003e\n\u003cp\u003eCatatan Evidence REA menyimpan informasi identitas target dan lokasi bukti. Snapshot adalah fitur untuk menggunakan kembali hasil analisis jika kondisinya sesuai. Hasil yang tersimpan tidak berarti sudah diverifikasi untuk versi terbaru.\u003c/p\u003e\n\u003cp\u003eUntuk menyimpan catatan verifikasi, ikuti urutan berikut.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eCatat versi dan hash berkas target.\u003c/li\u003e\n\u003cli\u003eCatat versi REA dan mesin analisis.\u003c/li\u003e\n\u003cli\u003eHubungkan setiap kesimpulan dengan lokasi berkas atau alamat fungsi.\u003c/li\u003e\n\u003cli\u003eSimpan bersama input dan output dari versi asli dan kode implementasi ulang.\u003c/li\u003e\n\u003cli\u003eCatat secara terpisah kondisi yang tidak dapat diperiksa dan pengujian yang gagal.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eHash adalah nilai pengenal untuk membandingkan apakah berkasnya sama. Dengan menyimpannya, kita dapat menelusuri paket distribusi mana yang menjadi dasar penjelasan. Cakupan penerapannya juga dapat dibedakan ketika AI mengutip hasil tersebut di kemudian hari.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#analisis-lokal-dan-pengiriman-data-ke-luar\" class=\"anchor\" id=\"analisis-lokal-dan-pengiriman-data-ke-luar\"\u003e\u003c/a\u003eAnalisis lokal dan pengiriman data ke luar\u003c/h2\u003e\n\u003cp\u003eMelakukan analisis secara lokal tidak berarti seluruh pekerjaan bebas dari pengiriman data ke luar. Menurut README resmi, analisis target oleh REA berlangsung secara lokal. Hasil dari alat diterima oleh agen AI yang terhubung.\u003c/p\u003e\n\u003cp\u003eJika model eksternal digunakan, hasil analisis mungkin dikirim kepada penyedia model. Kebijakan data yang berlaku bergantung pada layanan yang dihubungkan. Untuk aplikasi perusahaan atau berkas privat, periksalah terlebih dahulu jalur pengiriman datanya.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCakupan kode dan string yang dikirim ke model\u003c/li\u003e\n\u003cli\u003eInformasi akun dan token akses yang terdapat dalam log\u003c/li\u003e\n\u003cli\u003eData pribadi yang terdapat dalam catatan komunikasi\u003c/li\u003e\n\u003cli\u003eLokasi penyimpanan hasil analisis dan kebijakan retensinya\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePemeriksaan berkas statis juga harus dibedakan dari menjalankan program. Pengamatan saat program berjalan dapat memengaruhi keadaan berkas atau akun. Tangani program yang tidak tepercaya dalam lingkungan pengujian yang terpisah.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#keamanan-dan-hak-yang-perlu-diperiksa-pengembang\" class=\"anchor\" id=\"keamanan-dan-hak-yang-perlu-diperiksa-pengembang\"\u003e\u003c/a\u003eKeamanan dan hak yang perlu diperiksa pengembang\u003c/h2\u003e\n\u003cp\u003eInformasi rahasia yang dimasukkan ke aplikasi dapat terungkap melalui rekayasa balik. OWASP menjelaskan masalah penyertaan informasi sensitif dalam paket distribusi. Risiko ini sudah ada sebelum REA muncul.\u003c/p\u003e\n\u003cp\u003eKhususnya, kunci API rahasia yang memiliki hak akses server tidak boleh disertakan dalam aplikasi. OWASP menganjurkan agar nilai rahasia yang tetap disimpan di sisi server. Obfuscation dapat mempersulit ekstraksi, tetapi tidak menjamin kerahasiaan.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePeriksa kata sandi dan kunci rahasia yang disertakan dalam berkas distribusi.\u003c/li\u003e\n\u003cli\u003eBatasi hak akses dan masa berlaku token autentikasi.\u003c/li\u003e\n\u003cli\u003eVerifikasi hak akses peminta di server.\u003c/li\u003e\n\u003cli\u003eGanti kredensial yang telah terungkap.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCakupan rekayasa balik yang diizinkan berbeda menurut negara, kontrak, dan pekerjaan yang dilakukan. Tidak dapat dipastikan bahwa semua tindakan diperbolehkan hanya karena tujuannya kompatibilitas. Analisis serta distribusi ulang kode dan gambar harus ditinjau secara terpisah.\u003c/p\u003e\n\u003cp\u003eLisensi MIT REA tidak memberikan hak atas perangkat lunak yang dianalisis. Prinsip penggunaan proyek dapat diperiksa dalam DISCLAIMER.md resmi. Periksalah cakupan yang benar-benar diizinkan berdasarkan hukum yang berlaku dan ketentuan perangkat lunak target.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#perubahan-apa-yang-terjadi-pada-industri-perangkat-lunak\" class=\"anchor\" id=\"perubahan-apa-yang-terjadi-pada-industri-perangkat-lunak\"\u003e\u003c/a\u003ePerubahan apa yang terjadi pada industri perangkat lunak\u003c/h2\u003e\n\u003cp\u003eREA menunjukkan kemungkinan turunnya biaya untuk memahami fitur yang sudah ada. Ini adalah prospek yang dapat ditarik dari kasus analisis yang dipublikasikan. Belum ada angka terverifikasi mengenai besarnya penghematan biaya di seluruh industri.\u003c/p\u003e\n\u003cp\u003eMengetahui cara beberapa fitur diimplementasikan berbeda dari kemampuan mengoperasikan layanan. Kualitas data dan penanganan gangguan tidak dapat disalin hanya dengan menganalisis berkas yang dapat dijalankan. Karena itu, kemudahan meniru fitur dan daya saing bisnis harus dinilai secara terpisah.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eUnsur bisnis\u003c/th\u003e\n\u003cth\u003eImplikasi yang ditarik dari cakupan analisis REA\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur bisnis\"\u003eSatu fitur internal aplikasi\u003c/td\u003e\n\u003ctd data-label=\"Implikasi yang ditarik dari cakupan analisis REA\"\u003eKemungkinan berkurangnya beban untuk menyelidiki cara implementasi dan mengimplementasikannya ulang\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur bisnis\"\u003ePemrosesan yang hanya ada di server\u003c/td\u003e\n\u003ctd data-label=\"Implikasi yang ditarik dari cakupan analisis REA\"\u003eSulit diperoleh hanya melalui analisis klien\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur bisnis\"\u003eData dan hak akses\u003c/td\u003e\n\u003ctd data-label=\"Implikasi yang ditarik dari cakupan analisis REA\"\u003ePerlu diperoleh dan dikelola secara terpisah dari pemahaman kode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur bisnis\"\u003eStabilitas dan kepercayaan operasional\u003c/td\u003e\n\u003ctd data-label=\"Implikasi yang ditarik dari cakupan analisis REA\"\u003ePengujian, pemeliharaan, dan penanganan gangguan tetap diperlukan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Unsur bisnis\"\u003ePelestarian perangkat lunak lama\u003c/td\u003e\n\u003ctd data-label=\"Implikasi yang ditarik dari cakupan analisis REA\"\u003ePemulihan dapat dilakukan mulai dari fitur kecil sambil menyimpan bukti\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eKasus publik REA menunjukkan perubahan dalam cara memahami perangkat lunak. Kasus tersebut bukan bukti bahwa kebutuhan akan pengembangan akan hilang. Setelah suatu fitur diimplementasikan ulang, kompatibilitas dan kualitas operasionalnya tetap harus diverifikasi.\u003c/p\u003e\n","tags":["Agen AI","Pengembangan AI","Strategi teknologi","Alat pengembangan"],"faqs":[{"question":"Apakah REA merupakan model AI tersendiri?","answer":"REA adalah proyek yang menghubungkan agen AI dengan alat analisis perangkat lunak. Permintaan analisis dan hasilnya dapat disampaikan melalui MCP."},{"question":"Apakah Ghidra wajib digunakan untuk memakai REA?","answer":"Tergantung pada objek yang dianalisis. Analisis native menggunakan mesin seperti Ghidra. Analisis statis JavaScript dapat dilakukan tanpa mesin analisis native."},{"question":"Apakah REA memulihkan kode sumber asli persis seperti semula?","answer":"Tidak ada jaminan bahwa hasil pemulihannya identik dengan kode sumber asli. Komentar atau informasi nama dapat hilang selama proses kompilasi. Hasil dekompilasi harus dibaca sebagai representasi untuk memahami cara kerjanya."},{"question":"Jika menganalisis aplikasi, apakah kode server juga bisa diperoleh?","answer":"Kode server yang tidak disertakan dalam aplikasi tidak dapat diperoleh hanya dengan menganalisis aplikasi. Permintaan dan respons komunikasi dapat diamati. Catatan tersebut tidak menunjukkan seluruh implementasi internal server."},{"question":"Apakah program lain juga bisa dianalisis dalam 8 menit 41 detik?","answer":"Tidak ada dasar untuk menggeneralisasikannya. Catatan asli demonstrasi kalkulator tersebut juga belum dapat kami verifikasi. Waktu yang diperlukan berbeda-beda menurut ukuran objek, model, dan lingkungan analisis."},{"question":"Apakah REA menghilangkan halusinasi AI?","answer":"Halusinasi tidak hilang. Menunjukkan bukti dan bagian yang belum diverifikasi memudahkan peninjauan ulang kesimpulan. Hasil dari alat dan interpretasi AI harus diverifikasi secara terpisah."},{"question":"Apakah kasus DX-Ball merupakan hasil pemulihan seluruh game?","answer":"Angka yang dikutip merupakan hasil verifikasi fungsi perhitungan suara tertentu. Kasus resmi tersebut menjelaskan 3,205 uji perbandingan. Disebutkan bahwa pemulihan seluruh game agar dapat dijalankan masih berlangsung."},{"question":"Apakah seluruh analisis REA diproses secara offline?","answer":"Analisis objek oleh REA dilakukan secara lokal. Agen yang menerima hasil dari alat dapat menggunakan model eksternal. Cakupan keseluruhan pengiriman data harus diperiksa pada layanan yang terhubung."},{"question":"Bolehkah kode yang dianalisis dengan REA dimasukkan ke dalam produk komersial?","answer":"Memperoleh hasil analisis saja tidak otomatis memberikan hak untuk menggunakannya. Hak dan lisensi perangkat lunak yang dianalisis harus diperiksa. Tinjau juga hukum yang berlaku dan ketentuan penggunaan alat analisis."},{"question":"Jika REA bersifat sumber terbuka, apakah biaya analisisnya juga gratis?","answer":"Lisensi kode REA dan biaya keseluruhan pekerjaan adalah dua hal yang berbeda. Model yang terhubung atau alat analisis komersial dapat menimbulkan biaya. Periksa besarannya dalam daftar tarif dan ketentuan penggunaan masing-masing penyedia."},{"question":"Apa yang perlu dicatat untuk mengutip hasil analisis?","answer":"Catat versi objek yang dianalisis, hash file, dan lokasi bukti. Versi alat analisis dan hasil uji perbandingan juga diperlukan. Dengan mencatat kondisi yang belum diverifikasi, Anda dapat membedakan cakupan keberlakuan kesimpulan."}],"sources":[{"url":"https://github.com/morluto/rea","title":"README repositori resmi REA: cara kerja, cakupan dukungan, analisis lokal, dan kebijakan data model","type":"source"},{"url":"https://ghidra.re/ghidra_docs/GhidraClass/Beginner/Introduction_to_Ghidra_Student_Guide.html","title":"Dokumen pelatihan resmi Ghidra: Introduction to Ghidra","type":"source"},{"url":"https://rea.tools/showcase/notion/","title":"Studi kasus resmi REA: analisis jalur papan klip Electron di Notion","type":"source"},{"url":"https://rea.tools/showcase/dx-ball/","title":"Studi kasus resmi REA: implementasi ulang perhitungan posisi suara DX-Ball dan verifikasi melalui perbandingan","type":"data_point"},{"url":"https://github.com/morluto/rea/blob/main/docs/tool-design.md","title":"REA Tool Design: pembedaan antara pengamatan, hasil penurunan, inferensi, dan batasan","type":"source"},{"url":"https://github.com/morluto/rea/blob/main/docs/javascript-application-graph.md","title":"REA JavaScript Application Graph: bukti, status, tingkat kepercayaan, dan lokasi target","type":"source"},{"url":"https://github.com/morluto/rea/blob/main/docs/javascript-application-workflows.md","title":"REA JavaScript Application Workflows: pembedaan antara hubungan statis dan verifikasi melalui eksekusi","type":"source"},{"url":"https://raw.githubusercontent.com/morluto/rea/main/docs/cli.md","title":"REA CLI and Evidence: penyimpanan catatan, snapshot, dan status keluar","type":"source"},{"url":"https://raw.githubusercontent.com/morluto/rea/main/DISCLAIMER.md","title":"REA Disclaimer: batasan analisis, izin penggunaan, dan hak atas hasil","type":"source"},{"url":"https://mas.owasp.org/MASWE-0004/","title":"OWASP MASWE-0004: informasi sensitif dalam paket aplikasi dan cara menanganinya","type":"source"}],"images":[{"id":1947,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mjk5NzksInB1ciI6ImJsb2JfaWQifX0=--2b1213d9736d5cae1ff35ed8e5e7db570784612e/ai-ab7036b9.webp","is_representative":true,"generation_method":"ai_photo","license":"ai_generated","mime_type":"image/webp","width":1536,"height":1024,"translations":{"ko":{"alt":"노트북 옆에서 공과 패들 테스트 화면이 뜬 태블릿 두 대를 비교하는 개발자","caption":"특정 함수의 동작이 일치해도 게임 전체가 복원됐다는 뜻은 아닙니다.","description":null},"en":{"alt":"A developer compares ball-and-paddle test screens on two tablets beside a laptop.","caption":"Matching the behavior of one function does not mean the entire game has been restored.","description":null},"ja":{"alt":"ノートパソコンの横で、ボールとパドルのテスト画面を表示した2台のタブレットを見比べる開発者","caption":"特定の関数の動作が一致しても、ゲーム全体を復元できたとは限りません。","description":null},"es":{"alt":"Un desarrollador compara dos tabletas con pruebas de pelota y paleta junto a un portátil.","caption":"Que coincida el comportamiento de una función no significa que se haya reconstruido todo el juego.","description":null},"id":{"alt":"Pengembang membandingkan dua tablet dengan uji bola dan pemukul di samping laptop.","caption":"Kecocokan perilaku satu fungsi tidak berarti seluruh gim telah berhasil dipulihkan.","description":null},"pt":{"alt":"Um desenvolvedor compara duas telas de teste de bola e raquete em tablets ao lado de um notebook.","caption":"A correspondência no comportamento de uma função não significa que o jogo inteiro foi reconstruído.","description":null},"zh-hant":{"alt":"開發者在筆電旁比較兩台平板上的球與擋板測試畫面。","caption":"特定函式的行為一致，不代表整個遊戲已經還原。","description":null},"de":{"alt":"Ein Entwickler vergleicht Ball-und-Schläger-Tests auf zwei Tablets neben einem Laptop.","caption":"Stimmt das Verhalten einer Funktion überein, ist damit nicht das ganze Spiel rekonstruiert.","description":null}}},{"id":1948,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mjk5ODUsInB1ciI6ImJsb2JfaWQifX0=--1f2adeb39e8cbbe1342eb9e3c6b1d619bea6e20f/ai-ccb48b79.webp","is_representative":false,"generation_method":"ai_semi","license":"ai_generated","mime_type":"image/webp","width":1536,"height":1024,"translations":{"ko":{"alt":"짙은 회색 스웨터를 입은 엔지니어가 소형 컴퓨터에서 파란색 네트워크 케이블을 뽑고 있다.","caption":"신뢰할 수 없는 앱을 분석할 때는 보안 위험을 먼저 통제해야 합니다.","description":null},"en":{"alt":"An engineer in a dark gray sweater disconnects a blue network cable from a compact computer.","caption":"Security risks should be controlled before analyzing an untrusted app.","description":null},"ja":{"alt":"濃い灰色のセーターを着た技術者が、小型コンピューターから青いネットワークケーブルを抜いている。","caption":"信頼できないアプリを分析する前に、セキュリティ上のリスクを抑える必要があります。","description":null},"es":{"alt":"Un ingeniero con un suéter gris oscuro desconecta un cable de red azul de un ordenador compacto.","caption":"Antes de analizar una aplicación no confiable, hay que controlar los riesgos de seguridad.","description":null},"id":{"alt":"Seorang teknisi bersweter abu-abu gelap mencabut kabel jaringan biru dari komputer kecil.","caption":"Risiko keamanan perlu dikendalikan sebelum menganalisis aplikasi yang tidak tepercaya.","description":null},"pt":{"alt":"Um engenheiro de suéter cinza-escuro desconecta um cabo de rede azul de um computador compacto.","caption":"É preciso controlar os riscos de segurança antes de analisar um aplicativo não confiável.","description":null},"zh-hant":{"alt":"身穿深灰色毛衣的工程師正從小型電腦拔出藍色網路線。","caption":"分析不受信任的應用程式前，應先控管安全風險。","description":null},"de":{"alt":"Ein Ingenieur im dunkelgrauen Pullover zieht ein blaues Netzwerkkabel aus einem kompakten Computer.","caption":"Vor der Analyse einer nicht vertrauenswürdigen App sollten Sicherheitsrisiken begrenzt werden.","description":null}}}],"published_at":"2026-10-19T05:55:51+09:00","updated_at":"2026-10-19T05:55:51+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/en/articles/rea-ai-reverse-engineering-performance-and-limits"}