- 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
Hacker News yorumu