3 poin oleh GN⁺ 2023-10-01 | 1 komentar | Bagikan ke WhatsApp
  • Artikel ini memperkenalkan game papan meja assembly RISC-V bernama PROJEKT: OVERFLOW.
  • Game ini dibuat untuk mengajarkan buffer overflow kepada putri penulis dengan cara yang menyenangkan dan interaktif.
  • Permainan ini melibatkan pembuatan shellcode kecil di memori dan menggunakan buffer overflow untuk melompat ke sana sehingga lawan dipindahkan ke fungsi game_over().
  • Semua pemain berbagi memori yang sama dan menjalankan program yang sama, lalu masing-masing mengeksekusi 10 instruksi secara bergiliran.
  • Game ini juga mencakup lapisan strategi dan mekanisme lain seperti pengaturan exception handler atau monkey patching.
  • Game ini bisa dimainkan sendiri secara online atau bersama teman, dan tersedia juga versi yang bisa dicetak.
  • Game ini mencakup berbagai kondisi kemenangan sesuai tingkat kesulitan yang berbeda.
  • Penulis juga menyediakan daftar instruksi game valid dengan machine code dari 0 hingga 4095 (RV32 JRI bekerja pada a0, a4, a5, sp, ra).
  • Penulis juga membuat game edukatif serupa untuk mengajarkan Python, C, machine code, dan perintah UNIX.
  • Penulis menyampaikan terima kasih kepada banyak orang yang berkontribusi pada pengembangan dan pengujian game ini.
  • Penulis menyediakan informasi kontak untuk masukan atau pelaporan bug.
  • Artikel ini menyertakan panduan assembly yang berisi tautan ke berbagai tutorial dan materi assembly RISC-V.
  • Penulis juga menyediakan daftar soal latihan dan contoh kode untuk mempelajari assembly RISC-V.
  • Desain game ini minimalis dan berfokus pada fungsionalitas serta efisiensi biaya untuk pencetakan.
  • Penulis tidak menggunakan syntax highlighting dalam game ini agar pemain dapat menilai sendiri pentingnya berbagai elemen kode.

1 komentar

 
GN⁺ 2023-10-01
Komentar Hacker News
  • Postingan tentang game papan meja assembly RISC-V, yang memungkinkan para pemain untuk 'meretas' lawan mereka
  • Seorang komentator mengagumi penciptanya yang mengajarkan game ini kepada putrinya yang berusia 12 tahun, dan bertanya tentang versi CHERI.
  • Komentator lain mempertanyakan motivasi penciptanya dan menyarankan bahwa ini mungkin proyek yang didorong oleh ego.
  • Seorang komentator berpendapat bahwa mnemonic yang pendek adalah pilihan rekayasa yang buruk mengingat ukuran memori komputer saat ini.
  • Ada usulan bahwa keberadaan kerentanan seperti ini menunjukkan kegagalan dalam desain sistem secara keseluruhan.
  • Seseorang berencana memperkenalkan game ini di tempat kerja.
  • Seorang komentator berbagi cerita bahwa temannya belajar coding melalui game, dan menyarankan bahwa ini bisa menjadi alat belajar serupa.
  • Ada pertanyaan tentang rentang usia yang cocok untuk game ini.
  • Beberapa komentator menyatakan antusiasme mereka terhadap game ini dan keinginan untuk memainkannya di tempat kerja.
  • Seseorang merasa terkejut sekaligus antusias dengan konsep game papan meja yang mencakup pemrograman assembly.
  • Seorang komentator menyebut pemeriksaan batas string/array dan stack yang tumbuh ke atas pada PL/I sebagai fitur positif.
  • Ada diskusi tentang masa depan kode RISC-V 64-bit dan kemungkinan penghentian yang sudah direncanakan.