3 Punkte von GN⁺ 2023-10-01 | 1 Kommentare | Auf WhatsApp teilen
  • Der Artikel stellt PROJEKT: OVERFLOW vor, ein RISC-V-Assembly-Brettspiel für den Tisch.
  • Das Spiel wurde entwickelt, um der Tochter des Autors Buffer Overflows auf unterhaltsame und interaktive Weise beizubringen.
  • Im Spiel erzeugt man kleine Shellcodes im Speicher und nutzt Buffer Overflows, um dorthin zu springen und den Gegner in die Funktion game_over() zu schicken.
  • Alle Spieler teilen sich denselben Speicher und führen dasselbe Programm aus; sie führen nacheinander jeweils 10 Instruktionen aus.
  • Das Spiel enthält außerdem weitere Mechanismen und Strategieebenen wie das Einrichten von Exception-Handlern oder Monkey-Patching.
  • Man kann das Spiel allein online oder zusammen mit Freunden spielen; es gibt auch eine druckbare Version.
  • Das Spiel enthält verschiedene Siegbedingungen für unterschiedliche Schwierigkeitsstufen.
  • Der Autor stellt außerdem eine Liste gültiger Spielinstruktionen mit Maschinencode von 0 bis 4095 bereit (RV32 JRI funktioniert mit a0, a4, a5, sp, ra).
  • Der Autor hat auch ähnliche Lernspiele entwickelt, die Python, C, Maschinencode und UNIX-Befehle vermitteln.
  • Der Autor bedankt sich bei mehreren Personen, die zur Entwicklung und zum Testen des Spiels beigetragen haben.
  • Der Autor nennt außerdem Kontaktinformationen für Feedback oder Bug-Reports.
  • Der Artikel enthält einen Assembly-Leitfaden mit Links zu verschiedenen RISC-V-Assembly-Tutorials und -Materialien.
  • Der Autor bietet außerdem eine Liste mit Übungsaufgaben und Codebeispielen zum Erlernen von RISC-V-Assembly.
  • Das Design des Spiels ist minimalistisch und auf Funktionalität beim Drucken sowie Kosteneffizienz ausgerichtet.
  • Der Autor verwendet im Spiel kein Syntax-Highlighting, damit die Spieler selbst einschätzen können, welche Bedeutung die verschiedenen Elemente des Codes haben.

1 Kommentare

 
GN⁺ 2023-10-01
Hacker-News-Kommentare
  • Ein Beitrag über ein RISC-V-Assembly-Brettspiel, in dem Spieler ihre Gegner „hacken“ können
  • Ein Kommentator ist beeindruckt davon, dass der Erfinder das Spiel seiner 12-jährigen Tochter beibringt, und fragt nach einer CHERI-Version.
  • Ein anderer Kommentator stellt die Motivation des Erfinders infrage und schlägt vor, dass es sich um ein Eitelkeitsprojekt handeln könnte.
  • Ein Kommentator argumentiert, dass kurze Mnemonics angesichts der heutigen Speichergrößen von Computern eine schlechte technische Entscheidung seien.
  • Es wird vorgeschlagen, dass das Vorhandensein solcher Schwachstellen auf ein Scheitern des gesamten Systemdesigns hindeutet.
  • Jemand plant, das Spiel bei der Arbeit vorzustellen.
  • Ein Kommentator erzählt, dass ein Freund durch ein Spiel das Programmieren gelernt habe, und schlägt vor, dass dies ein ähnliches Lernwerkzeug sein könnte.
  • Es gibt eine Frage nach der geeigneten Altersspanne für das Spiel.
  • Mehrere Kommentatoren äußern ihre Begeisterung für das Spiel und den Wunsch, es bei der Arbeit zu spielen.
  • Jemand ist überrascht und begeistert von dem Konzept eines Brettspiels mit Assembly-Programmierung.
  • Ein Kommentator erwähnt die String-/Array-Grenzprüfungen und den nach oben wachsenden Stack von PL/I als positive Eigenschaften.
  • Es gibt eine Diskussion über die Zukunft von 64-Bit-RISC-V-Code und die Möglichkeit einer geplanten Abschaffung.