20 poin oleh iolothebard 2025-02-28 | 9 komentar | Bagikan ke WhatsApp

Dari biner parsial, bukan source code (DLL runtime tidak ada),
menebak tujuan program aslinya, lalu menulis ulang dalam Python…
Mau dianggap bagus atau buruk, ini jelas kecerdasan yang “buatan”.

Terjemahan:

Setelah bertahun-tahun kecewa dengan AI, saya benar-benar terkejut besar. Ini bukan tulisan biasa bergaya “AI itu menakjubkan”. Sampai hari ini pun saya masih skeptis.

Latar belakang: Seperti banyak orang lain, saya juga mencoba ChatGPT dan berbagai alat AI lain untuk bantuan coding. Hasilnya? Secara konsisten mengecewakan. Hanya seperti mesin pencari yang dipoles, mengeluarkan kode salah yang dibungkus penjelasan penuh percaya diri.

Tantangannya: Cucu perempuan saya yang berusia 2 tahun datang berkunjung hari ini. Saya jadi teringat aplikasi sederhana yang saya buat pada 1997 dengan Visual Basic 4. Tapi menjalankan executable berusia 27 tahun? Tanpa DLL lama dan compatibility layer? Ya, benar juga.

The Hail Mary: Karena penasaran, saya mengunggah file EXE yang sebenarnya ke Claude 3.7 dan mengajukan pertanyaan sederhana: "Bisakah Anda memberi tahu cara menjalankan file ini? Sepertinya file ini dibuat dengan Visual Basic 4. Akan bagus jika bisa dikonversi ke Python."

Hasil yang saya perkirakan: Jawaban generik seperti, "Ini file lama, ada risiko keamanan, dan sebagainya..."

Yang benar-benar terjadi: Claude 3.7 memulai dengan peringatan yang saya duga, tetapi setelah itu situasinya jadi menarik. Entah bagaimana ia menganalisis binernya dan mengidentifikasi komponen tertentu:

  • "Form1"
  • "cntTimer"
  • "btnExit"
  • bahkan mendeteksi file suara tertanam!

Lalu ia melakukan sesuatu yang belum pernah dilakukan AI lain. Ia menulis konversi Python lengkap menggunakan Pygame:

  1. Mereplikasi fungsinya dengan sempurna.
  2. Memberikan instruksi instalasi yang jelas.
  3. Benar-benar langsung berjalan pada percobaan pertama

Waktu yang dibutuhkan: kurang dari 5 menit. Ini bukan hiperbola.

Ketika saya meminta penyesuaian seperti mengikat suara ke tombol spasi dan menambahkan font berwarna-warni, ia langsung memberikan pembaruan kode yang sempurna.

Sejak mulai menggunakan AI, ini pertama kalinya saya benar-benar terpukau. Bukan sekadar trik pesta, melainkan solusi praktis yang benar-benar menghemat waktu kerja saya.

Pada akhirnya saya memberi tahu Claude bahwa saya terkesan, sambil merangkum dengan canggung mengapa menurut saya ini keren.... lalu saya kirimkan, dan setelah itu ia menulis ulang postingan Reddit ini. Sebenarnya terdengar "hampir" normal. (Bagian ini saya yang menulis.)

<hari yang sama, 5 jam kemudian> pembaruan

Saya memposting pembaruan/ringkasan untuk postingan ini (ditulis oleh saya). Saya tidak yakin apakah ini cara yang benar, tetapi setidaknya ada satu orang di internet yang bilang begitu, jadi tampaknya benar.

https://www.reddit.com/r/ClaudeAI/comments/1iz1i61/update_i_uploaded_a_27yearold_exe_file_to_claude/

<pembaruan - 11 jam kemudian>

Sepertinya saya ini 'kakek Reddit'. Lucu juga.

Beberapa hal yang perlu diluruskan:

- Ya, Claude memang mengizinkan unggahan EXE.
- EXE yang sudah dikompilasi memang memiliki beberapa string yang bisa dikenali, tetapi tidak banyak.
- Claude yang menulis postingan dan judul ini. Selain itu, bagian terbaiknya adalah semuanya berhasil dalam sekali jalan.
- Ini menampilkan teks dan memutar file wav ketika putri saya, yang sekarang berusia 29 tahun, menekan keyboard.

Karena ada yang tidak melihat tautan chat di komentar, saya tambahkan di sini:

https://claude.ai/share/3eecebc5-ff9a-4363-a1e6-e5c245b81a16

<pembaruan - 1 hari kemudian>

Tulisan ini, yang saya posting ulang di Twitter/X, sudah menembus satu juta tayangan. Full post here. Saya mengunggah postingan itu ke Claude beserta semua komentarnya, dalam konteks yang sama saat saya menulis naskah dan postingan tersebut. Saya secara khusus memintanya merangkum kritik yang ada. Berikut rangkuman dari Claude:

Konteks teknis yang valid

Beberapa orang dengan tepat menunjukkan bahwa executable VB4 dikompilasi menjadi p-code, bukan machine code, sehingga lebih mudah dianalisis dibanding executable yang sepenuhnya terkompilasi. Ini memang pengamatan yang akurat. VB sebelum .NET menyimpan format bytecode yang bisa diinterpretasikan, sehingga informasinya lebih mudah diekstrak dibanding biner yang sepenuhnya terkompilasi.

Skeptisisme soal kompleksitas

Yang lain menunjukkan bahwa kode Python hasilnya relatif sederhana (sekitar 100 baris). Itu karena aplikasinya sendiri bukan aplikasi kompleks, melainkan program sederhana dengan fungsi dasar. Bagian yang mengesankan bukanlah kompleksitas kode yang dihasilkan, melainkan fakta bahwa transisi dari biner ke kode yang berfungsi terjadi tanpa upaya apa pun dari saya.

Kesalahpahaman tentang proses

Beberapa pengkritik tampaknya mengira saya mengklaim bahwa Claude telah "mendekompilasi" executable dalam arti tradisional. Padahal, seperti yang saya jelaskan dalam percakapan, yang terjadi adalah analisis string yang terlihat dan penarikan inferensi atas fungsinya, yang tetap mengesankan tetapi bukan dekompilasi sungguhan.

Skeptisisme umum terhadap AI

Di industri teknologi memang ada kecenderungan alami untuk skeptis terhadap kemampuan AI, dan sebagian komentator secara refleks menepis demo yang mengesankan sebagai palsu, dibesar-besarkan, atau "hanya pattern matching". Ini adalah pola reaksi yang umum terhadap kemajuan AI. Kritik yang menurut saya paling masuk akal adalah bahwa pencapaian ini harus dipahami dalam konteksnya. Claude tidak melakukan analisis biner sungguhan terhadap kode terkompilasi sembarang, melainkan melakukan inferensi cerdas dari string teks dalam executable VB.

9 komentar

 
ndrgrd 2025-03-04

Sebenarnya tidak jauh berbeda dengan membaca dan menganalisis dokumen teks biasa..

 
kandk 2025-02-28

Wah, apakah data lama yang sudah terlupakan juga bisa dipulihkan? wkwk
Kalau unggah video game DOS lama, jangan-jangan malah keluar file exe..

 
hi098123 2025-02-28

Seperti pendapat di artikel, untuk file .exe VB kode bisa diperiksa sebagaimana ditulis, tetapi karena ini adalah file .exe C++, kalau hanya berupa assembly mungkin sampai sekarang pun masih belum memungkinkan.
Salah satu keunggulan AI adalah memahami dan menerapkan perintah, jadi ternyata cukup piawai juga dalam pekerjaan migrasi ke bahasa lain.

 
iolothebard 2025-02-28

Saya rasa mungkin ada dokumen terkait p-code VB 4.0 di dalam data yang dipelajari Claude.

Kalau bukan itu (jika tidak ada sesuatu yang sudah dipra-latih sebelumnya), dari sudut pandang AI apakah p-code VB 4.0 benar-benar berbeda dari kode mesin x86 (atau ARM, atau …)? Keduanya sama-sama hanya deretan angka dengan aturan tertentu. Jika ia membaca pola dari sampel yang pendek, itu sendiri juga cukup menakutkan.

 
hi098123 2025-03-01

Jika membuat file exe dari bahasa seperti VB atau Python, itu bukan dikompilasi ke bahasa mesin, jadi jika hanya ada file exe, kode sumber bisa diekstrak dengan nama fungsi dan nama variabel yang tetap sama.
Fakta bahwa aturan seperti ini bisa dipelajari lalu diterapkan... sepertinya ke depannya akan sulit bagi developer untuk bisa bertahan.

 
kandk 2025-02-28

Tapi bagaimanapun, assembly juga punya spesifikasi, jadi kalau diberikan bersama spesifikasinya sepertinya akan cepat diterjemahkan.

 
hi098123 2025-03-01

Mengubah dari assembly menjadi kode bahasa alami yang mudah dibaca berada di ranah penciptaan ulang setelah hal-hal yang tidak perlu dihapus (seperti nama variabel, nama fungsi, dan lain-lain), jadi saya rasa perlu waktu agar hasilnya bisa cukup bagus.

 
kandk 2025-03-01

Mungkin memang mudah sih wkwk
Saya pernah menulis paper tentang hal yang mirip sekitar 10 tahun lalu

 
unsure4000 2025-02-28

Wah, ini cukup mengejutkan ya.