Cara Reverse Engineering Apa Saja dengan Opus 5.5
Untuk melakukan reverse engineering apa pun dengan Opus 5.5, hubungkan model ke mesin disassembly melalui REA, lalu bekerja secara bertahap: rutekan target, petakan, dekompilasi fungsi-fungsi tersibuk, minta Opus menamai dan menjelaskannya, tulis spesifikasi yang hanya berisi perilaku, dan bangun ulang dari spesifikasi itu di konteks terpisah. Sesuaikan tingkat effort dengan setiap tahap, dan buktikan hasil bangun ulang dengan uji paritas.
Itulah versi singkat dari panduan yang viral di X. Pada 12 Oktober 2026, builder Movez menerbitkan kursus 11 langkah tentang reverse engineering dengan Claude Opus 5.5. Panduan itu melewati 1 juta tayangan dan 2.800 bookmark. Artikel ini memeriksa klaimnya terhadap sumbernya, mengoreksi dua detail benchmark, dan menambahkan langkah yang dilewatkan sebagian besar panduan: menguji API yang diajak bicara oleh target.
Gunakan ini hanya pada perangkat lunak yang Anda miliki atau yang Anda berwenang untuk memeriksanya. README REA membatasi alat ini untuk "penelitian yang sah, pendidikan, interoperabilitas, pelestarian perangkat lunak, dan analisis perangkat lunak yang Anda miliki atau berwenang untuk memeriksanya."
Mengapa Opus 5.5 memerlukan alat untuk membaca binary
Opus 5.5 membaca dan menulis teks; ia tidak bisa memuat file Mach-O atau ELF sendiri. REA adalah server MCP yang berada di antara agen Anda dan mesin analisis (Hopper, Ghidra atau IDA untuk kode native), menjalankan analisis secara lokal dan mengembalikan temuan beserta buktinya: alamat, pseudocode, string, dan call site. Model membaca temuan tersebut dan mengajukan pertanyaan berikutnya.
REA melewati 393.000 bintang GitHub pada 27 Oktober 2026, naik dari sekitar 115.000 pada 12 Oktober. Kami sudah membahas apa itu REA dan bagaimana cara kerjanya serta loop enam langkah untuk membangun ulang satu fitur aplikasi saat pertama kali trending. Panduan ini berfokus pada sisi model: prompt, pengaturan effort, dan batasannya.
Langkah 1: Pasang REA dan tulis aturan internal
REA memerlukan Node.js 22.23.4 atau yang lebih baru pada jalur 22 (24.22.1+ atau 26.12.1+ juga bisa) plus npm. Rilis npm saat ini adalah 6.8.0. Daftarkan ke agen Anda:
npx rea-agents setup
npm install --global rea-agents
rea --help
Setup akan menampilkan pratinjau perubahan konfigurasinya, mencadangkan apa pun yang disentuhnya, dan mendukung Claude Code, Codex, Cursor, Gemini CLI, serta Grok Build. Analisis native memerlukan Hopper, Ghidra atau IDA; inspeksi JavaScript, Electron dan .NET tidak memerlukan engine.
Lalu berikan aturan internal kepada agen. Blok CLAUDE.md dalam kursus itu adalah bagian terbaik dari thread tersebut:
# Reverse-engineering house rules
- Only analyze targets I own or am authorized to examine. State the basis once.
- Tag every claim: observation, inference, or unknown.
- Cite the evidence: address, bytes, pseudocode or call site.
- Start with the smallest overview. Expand only on a concrete gap.
- Separate static facts from runtime facts.
- Build from behavior and public specs, never from copied code or assets.
- Every recovered behavior needs a passing test before "done".
Langkah 2: Pilih tingkat effort untuk setiap tahap
Opus 5.5 mendukung lima tingkat effort: low, medium, high, xhigh, dan max. Menurut dokumentasi effort Anthropic, Opus 5.5 default-nya adalah medium, sementara xhigh ditujukan untuk agentic run yang panjang dan max menghapus semua batas pengeluaran token. Anda mengaturnya dengan output_config.effort pada API, atau pengaturan effort di agen Anda.
Pembagian dalam kursus tersebut adalah titik awal yang masuk akal, bukan aturan yang terukur:
| Tahap | Effort yang disarankan | Alasan |
|---|---|---|
| Routing, recon, navigasi | medium |
Sebagian besar hanya pemanggilan alat dan pendataan |
| Menganotasi fungsi biasa | high |
Penamaan memerlukan penalaran tentang aliran data |
| Sesi panjang multi-fungsi | xhigh |
Dirancang untuk proses lebih dari 30 menit |
| Kode terobfuskasi atau penuh pointer | max |
Penalaran terdalam, biaya tertinggi |
Naikkan effort per fungsi, bukan per sesi.
Langkah 3: Rutekan target sebelum Anda membuka apa pun
Kesalahan pemula yang paling umum adalah membuka disassembler pada aplikasi Electron yang JavaScript-nya terlihat apa adanya. REA mencakup instalasi desktop, binary native, aplikasi JavaScript dan Electron, assembly .NET, APK Android, WASM, situs web, dan rekaman jaringan tersimpan, masing-masing dengan alat masuknya sendiri. Prompt pertama Anda sebaiknya hanya mengidentifikasi target:
I want to understand how [FEATURE] works in [APP] at [ABSOLUTE PATH].
First tell me what kind of target this is (native, Electron/JS, .NET, APK, WASM)
and which REA tool opens it. Don't start deep analysis yet.
Then give me a one-paragraph map and where you'd look first for [FEATURE].
Keep observations, inferences and unknowns separate.
Target Electron diarahkan ke analyze-javascript-application (modul, impor, batas IPC, tanpa engine). Target native diarahkan ke open_binary.
Langkah 4: Petakan string dan peringkatkan fungsi berdasarkan cross-reference
Jangan baca kode dulu. Untuk target native, mulailah dengan inventaris:
rea inspect /absolute/path/to/program --provider ghidra --json
rea search /absolute/path/to/program entry --kind procedures --provider ghidra --json
String adalah petunjuk tercepat Anda: URL, pesan error, dan nama fitur. Base URL atau string `[REDACTED CREDENTIAL] juga memberi tahu Anda bahwa binary tersebut berkomunikasi dengan sebuah API, yang penting pada Langkah 9.
Berikutnya, peringkatkan fungsi berdasarkan cross-reference (berapa banyak tempat yang memanggilnya). Fungsi dengan 147 pemanggil kemungkinan besar adalah infrastruktur inti, seperti config loader; fungsi dengan dua pemanggil bisa ditunda. Baca dari atas ke bawah.
Langkah 5: Dekompilasi satu fungsi, lalu biarkan Opus menamainya
Dekompilasi satu fungsi panas:
bash
rea function /absolute/path/to/program parseConfig --provider ghidra --json
rea decompile /absolute/path/to/program --procedure=parseConfig --provider ghidra --json
Hasilnya masih kasar (var_28, cast di mana-mana). Serahkan ke Opus 5.5 pada effort high dengan checklist tetap:
`text
Here is decompiled pseudocode for a function with 147 cross-references.
- Rename every variable based on how it is used.
- State the function's purpose in one sentence.
- List the data structures it reads and writes.
- Name the pattern (singleton, factory, state machine, observer).
- Flag missing error handling, validation or security checks.
Mark anything you're unsure of instead of guessing.
`
Dekompiler bisa salah dalam detail. Dalam showcase DX-Ball milik REA, pseudocode pertama menunjukkan fungsi sound-pan yang tidak menerima input. Hanya tampilan instruksi yang mengungkap parameternya. Rekonstruksi C finalnya lulus 3.205 test case x86 asli dan mereproduksi seluruh 63 byte fungsi yang dikompilasi, karena agen memeriksa silang pseudocode dengan assembly dan para pemanggilnya. Mintalah rea instructions ketika sebuah signature terlihat aneh.
Langkah 6: Anggarkan kode terobfuskasi, jangan digerus
Di sinilah kursus viral itu perlu dikoreksi. Kursus tersebut mengutip benchmark obfuskasi dari Elastic Security Labs sebagai uji "Claude Opus". Studi Elastic, yang diterbitkan 21 April 2026, menguji Claude Opus 4.6, bukan Opus 5.5. Angkanya:
| Fase Tigress | Terpecahkan |
|---|---|
| Tanpa transformasi | 1 dari 1 |
| Transformasi tunggal | 4 dari 6 |
| Transformasi berpasangan | 3 dari 6 |
| Berat, multi-lapis | 0 dari 6 |
Secara total, Opus 4.6 memecahkan 8 dari 20 target yang dapat dievaluasi (40%). Yang berhasil rata-rata menghabiskan $2,39 dan yang gagal $4,83, jadi kegagalan memakan biaya sekitar dua kali keberhasilan. Anggap ini sebagai batas bawah, bukan pengukuran Opus 5.5; kami tidak menemukan padanan yang dipublikasikan untuk 5.5.
Kedua, kursus tersebut menyatakan bahwa alat bernama Caveman "menghilangkan sekitar 75%" sampah hasil dekompilasi. Elastic mendeskripsikan Caveman sebagai plugin yang memangkas verbositas model itu sendiri hingga 75%, bukan filter kode hasil dekompilasi.
Pelajarannya tetap berlaku: batasi pengeluaran per fungsi terobfuskasi, minta skor keyakinan 1 sampai 10, dan tunda apa pun yang di bawah 6 sampai fungsi-fungsi tetangganya terselesaikan.
Langkah 7: Pecah target besar menjadi controller dan worker
Satu obrolan tidak bisa menampung 500 fungsi; ia melupakan nama dan bertentangan dengan dirinya sendiri. Solusi dalam kursus tersebut adalah controller yang tidak pernah menganalisis kode dan worker yang masing-masing menangani satu fungsi:
text
Controller: The function map is in functions.json (address, name, size, xrefs).
Cluster functions by call-graph proximity, order clusters by xref count,
send each cluster to a worker, inject already-resolved struct names into every
brief, and queue a second pass for any result with confidence below 6.
Report token spend after each cluster.
Setiap worker mengembalikan alamat, tujuan, skor keyakinan 1 sampai 10, struct yang digunakannya atau ditemukannya, dan sumber yang bersih, dengan menggunakan kembali nama struct milik controller. Benchmark Elastic menjalankan bentuk controller dan worker yang sama.
Langkah 8: Tulis spesifikasi yang hanya berisi perilaku di konteks yang bersih
Rebuild clean-room meniru apa yang dilakukan perangkat lunak, bukan kodenya. Mintalah spesifikasi yang hanya berisi perilaku dari Opus: antarmuka publik, model data, setiap fitur sebagai persyaratan yang dapat diuji, format file dari standar publik, dan penanganan error. Larang alamat, nama hasil dekompilasi, dan apa pun yang disalin.
Lalu implementasikan dari spesifikasi itu di konteks berbeda yang tidak pernah melihat analisisnya. Pemisahan itulah batas clean-room-nya. Ini praktik rekayasa, bukan nasihat hukum.
Langkah 9: Pulihkan kontrak API dan ujilah dengan Apidog CLI
String pada Langkah 4 sering mengungkap base URL dan header autentikasi, jadi sebagian perilakunya berada di balik sebuah API. Hasil bangun ulang Anda hanya cocok jika ia juga mematuhi kontrak tersebut, dan lalu lintas jaringan menunjukkannya lebih cepat daripada assembly.
Rekam HAR pada akun uji milik Anda sendiri, dan biarkan REA merangkumnya:
bash
rea inspect-web-network-capture /absolute/session.har har --json
Lalu biarkan agen Anda mengubah rekaman itu menjadi kontrak yang teruji dengan Apidog CLI. Siapkan sekali:
bash
npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install
Berikan satu prompt kepada agen:
text
Import session.har into Apidog project <id>. List the endpoints it created,
remove anything that isn't part of [FEATURE], and write one test case per
endpoint that asserts status code, required fields and response schema.
Run them against the original-service environment, then against my rebuild's
environment, and report every endpoint where the two disagree.
Agen menjalankan impor, memeriksa bentuk payload sebelum menulis, dan menjalankan kedua environment:
bash
apidog import --project <id> --format har --file ./session.har
apidog endpoint list --project <id>
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog test-case run --project <id> --endpoint <endpointId> -e <originalEnvId> -r cli,json
apidog test-case run --project <id> --endpoint <endpointId> -e <rebuildEnvId> -r cli,json
Kasus yang sama, dua environment, satu diff, dapat dijalankan ulang pada setiap commit dengan -r junit (lihat panduan CI/CD Apidog CLI kami). Jika Anda lebih suka menjalankannya dari Claude Code, lihat Apidog CLI di Claude Code. Paket gratis Apidog mencakup hingga 4 pengguna. Untuk pendekatan manualnya, lihat reverse engineering API.
Langkah 10: Buktikan paritas sebelum merilis
"Saya rasa ini sudah cocok" bukanlah bukti. Untuk perilaku lokal, minta Opus membangun harness yang memasukkan input yang sama ke program asli dan hasil bangun ulang:
text
Generate 50 inputs: 30 normal, 10 edge (empty, max size, unicode), 10 error
(malformed, missing fields, corrupt). Run each through both programs. Compare
byte-for-byte where possible, semantically otherwise. Report the match rate and
every divergence as cosmetic, behavioral or critical.
Dengan menjalankan API dari Langkah 9, Anda mendapatkan dua angka untuk ditunjukkan kepada siapa pun: tingkat kecocokan lokal dan tingkat kecocokan API. Uji sambil membangun, bukan di akhir.
FAQ
Apakah reverse engineering dengan Opus 5.5 legal? Tergantung pada yurisdiksi Anda, lisensinya, dan tujuan Anda. REA mendukung penelitian yang sah, pendidikan, interoperabilitas, pelestarian, dan analisis perangkat lunak yang Anda miliki atau berwenang untuk memeriksanya. Dapatkan nasihat hukum sebelum merilis hasil bangun ulang secara komersial.
Tingkat effort mana yang harus saya gunakan untuk reverse engineering? Mulailah dari medium untuk routing dan recon, high untuk menganotasi fungsi, dan sisakan max untuk kode terobfuskasi dengan anggaran per fungsi. Opus 5.5 default-nya adalah medium.
Seberapa baik Claude menangani binary terobfuskasi? Satu-satunya benchmark publik, dari Elastic Security Labs, menguji Opus 4.6: 40% dari 20 target Tigress terpecahkan dan 0% untuk yang berat multi-lapis. Belum ada pengujian setara untuk Opus 5.5 yang dipublikasikan.
Bagaimana cara menguji API yang digunakan aplikasi hasil reverse engineering? Rekam HAR pada akun uji, impor dengan apidog import --format har, buat test case dengan Apidog CLI dan jalankan terhadap layanan asli maupun hasil bangun ulang Anda.
Apakah REA mengunggah binary saya? REA menjalankan analisis secara lokal. Hanya temuan yang diteruskan agen Anda ke model (string, pseudocode) yang sampai ke penyedia model Anda.

Top comments (0)