- บทความนี้แนะนำ PROJEKT: OVERFLOW ซึ่งเป็นเกมกระดานตั้งโต๊ะแอสเซมบลี RISC-V
- เกมนี้ถูกสร้างขึ้นเพื่อสอนเรื่อง buffer overflow ให้ลูกสาวของผู้เขียนด้วยวิธีที่สนุกและโต้ตอบได้
- เกมเกี่ยวข้องกับการสร้างเชลล์โค้ดขนาดเล็กในหน่วยความจำ แล้วใช้ buffer overflow เพื่อกระโดดไปยังมันและส่งคู่ต่อสู้ไปยังฟังก์ชัน
game_over()
- ผู้เล่นทุกคนใช้หน่วยความจำร่วมกันและรันโปรแกรมเดียวกัน โดยแต่ละคนจะรันคำสั่ง 10 คำสั่งตามลำดับ
- เกมยังมีชั้นเชิงกลไกและกลยุทธ์อื่น ๆ เช่น การตั้งค่า exception handler หรือ monkey patching
- เกมสามารถเล่นคนเดียวทางออนไลน์หรือเล่นกับเพื่อนได้ และยังมีเวอร์ชันสำหรับพิมพ์ด้วย
- ภายในเกมมีเงื่อนไขชัยชนะหลากหลายตามระดับความยากต่าง ๆ
- ผู้เขียนยังให้รายการคำสั่งในเกมที่ใช้ได้พร้อม machine code ตั้งแต่ 0 ถึง 4095 (RV32 JRI ทำงานกับ a0, a4, a5, sp, ra)
- ผู้เขียนยังสร้างเกมการศึกษาในลักษณะคล้ายกันสำหรับสอน Python, C, machine code และคำสั่ง UNIX
- ผู้เขียนกล่าวขอบคุณหลายคนที่มีส่วนร่วมในการพัฒนาและทดสอบเกม
- ผู้เขียนให้ข้อมูลติดต่อสำหรับข้อเสนอแนะหรือการรายงานบั๊ก
- บทความมีคู่มือแอสเซมบลีที่รวมลิงก์ไปยังบทเรียนและแหล่งข้อมูลเกี่ยวกับแอสเซมบลี RISC-V หลากหลายรายการ
- ผู้เขียนยังให้รายการแบบฝึกหัดและตัวอย่างโค้ดสำหรับเรียนรู้แอสเซมบลี RISC-V
- การออกแบบของเกมเป็นแบบมินิมัล เน้นการใช้งานจริงและความคุ้มค่าด้านต้นทุนสำหรับการพิมพ์
- ผู้เขียนไม่ใช้ syntax highlighting ในเกม เพื่อให้ผู้เล่นตัดสินใจเองเกี่ยวกับความสำคัญขององค์ประกอบต่าง ๆ ของโค้ด
1 ความคิดเห็น
ความเห็นบน Hacker News