- El artículo presenta PROJEKT: OVERFLOW, un juego de mesa de escritorio de ensamblador RISC-V.
- Este juego fue creado para enseñarle a la hija del autor sobre buffer overflows de una manera divertida e interactiva.
- El juego consiste en crear un pequeño shellcode en memoria y usar un buffer overflow para saltar hacia él y enviar al oponente a la función
game_over().
- Todos los jugadores comparten la misma memoria y ejecutan el mismo programa, y cada uno ejecuta 10 instrucciones por turno.
- El juego también incluye otras mecánicas y capas estratégicas, como configurar manejadores de excepciones o hacer monkey patching.
- El juego se puede jugar en línea en solitario o con un amigo, y también tiene una versión imprimible.
- El juego incluye varias condiciones de victoria según distintos niveles de dificultad.
- El autor también proporciona una lista de instrucciones válidas del juego con código máquina del 0 al 4095 (RV32 JRI funciona en a0, a4, a5, sp y ra).
- El autor ha creado juegos educativos similares para enseñar Python, C, código máquina y comandos de UNIX.
- El autor agradece a varias personas que contribuyeron al desarrollo y las pruebas del juego.
- El autor proporciona información de contacto para comentarios o reportes de errores.
- El artículo incluye una guía de ensamblador con enlaces a varios tutoriales y recursos de ensamblador RISC-V.
- El autor también ofrece una lista de ejercicios y ejemplos de código para aprender ensamblador RISC-V.
- El diseño del juego es minimalista y está enfocado en la funcionalidad y la eficiencia de costos para impresión.
- El autor no usa resaltado de sintaxis en el juego, para que los jugadores puedan formarse su propio criterio sobre la importancia de los distintos elementos del código.
1 comentarios
Comentarios en Hacker News