3 puan yazan GN⁺ 2023-10-01 | 1 yorum | WhatsApp'ta paylaş
  • Yazı, PROJEKT: OVERFLOW adlı bir RISC-V assembly masaüstü tahta oyununu tanıtıyor.
  • Bu oyun, yazarın kızına buffer overflow kavramını eğlenceli ve etkileşimli bir şekilde öğretmek için yapıldı.
  • Oyun, bellekte küçük bir shellcode oluşturmayı ve buffer overflow kullanarak buna atlayıp rakibi game_over() fonksiyonuna götürmeyi içeriyor.
  • Tüm oyuncular aynı belleği paylaşıyor ve aynı programı çalıştırıyor; her biri sırayla 10 komut yürütüyor.
  • Oyun ayrıca exception handler ayarlama veya monkey patching gibi başka mekanizmalar ve strateji katmanları da içeriyor.
  • Oyun tek başına çevrimiçi oynanabiliyor ya da bir arkadaşla birlikte oynanabiliyor; ayrıca yazdırılabilir bir sürümü de var.
  • Oyunda farklı zorluk seviyelerine göre çeşitli kazanma koşulları bulunuyor.
  • Yazar ayrıca 0'dan 4095'e kadar makine koduna sahip geçerli oyun komutlarının bir listesini veriyor (RV32 JRI, a0, a4, a5, sp, ra üzerinde çalışıyor).
  • Yazar, Python, C, makine kodu ve UNIX komutlarını öğretmek için benzer eğitsel oyunlar da geliştirmiş.
  • Yazar, oyunun geliştirilmesine ve test edilmesine katkıda bulunan birçok kişiye teşekkür ediyor.
  • Yazar, geri bildirim veya hata raporu için iletişim bilgileri sunuyor.
  • Yazıda, çeşitli RISC-V assembly eğitimleri ve kaynaklarına bağlantılar içeren bir assembly rehberi de yer alıyor.
  • Yazar ayrıca RISC-V assembly öğrenmek için alıştırmalar ve kod örnekleri listesi sunuyor.
  • Oyunun tasarımı minimalist; yazdırma açısından işlevsellik ve maliyet verimliliğine odaklanıyor.
  • Yazar, oyuncuların kodun farklı öğelerinin önemine kendilerinin karar verebilmesi için oyunda syntax highlighting kullanmıyor.

1 yorum

 
GN⁺ 2023-10-01
Hacker News yorumu
  • RISC-V assembly masaüstü kutu oyunu hakkındaki gönderi, oyuncuların birbirlerini "hack"leyebilmesine olanak tanıyor
  • Bir yorumcu, oyunun yaratıcısının 12 yaşındaki kızına oyunu öğretmesine hayran kaldı ve CHERI sürümünü sordu.
  • Başka bir yorumcu, yaratıcının motivasyonunu sorgulayarak bunun bir kibir projesi olabileceğini öne sürüyor.
  • Bir yorumcu, günümüz bilgisayarlarındaki bellek boyutları düşünüldüğünde kısa mnemonic'lerin kötü bir mühendislik tercihi olduğunu savunuyor.
  • Bu tür açıkların varlığının, sistem tasarımının genel olarak başarısız olduğuna işaret ettiği yönünde bir öneri var.
  • Bir kişi bu oyunu iş yerinde tanıtmayı planlıyor.
  • Bir yorumcu, bir arkadaşının bu tür bir oyunla kodlama öğrendiğini paylaşarak bunun benzer bir öğrenme aracı olabileceğini öne sürüyor.
  • Oyunun hangi yaş aralığına uygun olduğuna dair bir soru var.
  • Birçok yorumcu oyuna duydukları heyecanı ve bunu iş yerinde oynamak istemelerini dile getiriyor.
  • Bir kişi, assembly kodlama içeren bir masaüstü kutu oyunu fikrini şaşırtıcı ve heyecan verici buluyor.
  • Bir yorumcu, PL/I'nin string/dizi sınır denetimini ve yukarı büyüyen stack yapısını olumlu özellikler olarak anıyor.
  • 64 bit RISC-V kodunun geleceği ve planlanan olası kullanımdan kaldırılması hakkında bir tartışma var.