- 記事では、PROJEKT: OVERFLOW という RISC-Vアセンブリの卓上ボードゲームを紹介しています。
- このゲームは、著者の娘にバッファオーバーフローを楽しくインタラクティブな方法で教えるために作られました。
- ゲームでは、メモリ上に小さなシェルコードを生成し、バッファオーバーフローを使ってそこへジャンプし、相手を
game_over() 関数へ移動させることが目的です。
- すべてのプレイヤーは同じメモリを共有し、同じプログラムを実行しながら、それぞれ10個の命令を順番に実行します。
- ゲームには、例外ハンドラの設定やモンキーパッチなど、ほかのメカニズムや戦略レイヤーも含まれています。
- このゲームは、オンラインで1人で遊ぶことも、友人と一緒に遊ぶこともでき、印刷可能なバージョンも用意されています。
- ゲームには、難易度レベルごとに異なるさまざまな勝利条件が含まれています。
- 著者はまた、0 から 4095 までのマシンコードを持つ有効なゲーム命令の一覧も提供しています(RV32 JRI は a0、a4、a5、sp、ra で動作)。
- 著者は、Python、C、マシンコード、UNIXコマンドを教えるための類似した教育用ゲームも制作しています。
- 著者は、ゲームの開発とテストに貢献した多くの人々に謝意を述べています。
- 著者は、フィードバックやバグ報告のための連絡先情報も提供しています。
- 記事には、さまざまな RISC-Vアセンブリのチュートリアルや資料へのリンクを含むアセンブリガイドが掲載されています。
- 著者はまた、RISC-Vアセンブリを学ぶための練習問題とコード例の一覧も提供しています。
- ゲームのデザインはミニマルで、印刷時の機能性とコスト効率を重視しています。
- 著者はゲーム内でシンタックスハイライトを使わず、コードのさまざまな要素の重要性についてプレイヤー自身が判断できるようにしています。
1件のコメント
Hacker Newsの意見