CTurt氏が、Nintendo 64のカートリッジゲーム『森田将棋64』を使って任意のコードを実行することができるshogihaxを公開していました。
CTurt(@CTurtE)氏はオープンソースのPS4 SDKを開発するなどPS4シーンで活躍していた開発者です。
CTurt氏は常々Nintendo 64でHomebrew開発に取り組みたいと思っていたようで、その結果が現状shogihax(将棋hax)の開発に繫がりました。
shogihax – Remote Code Execution on Nintendo 64 through Morita Shogi 64: https://t.co/9glal8tW0O
— CTurt (@CTurtE) May 3, 2020
shogihax – 森田将棋64を使ったNintendo 64でのリモートコードの実行。
森田将棋64はNintendo 64カートリッジの中で唯一、カートリッジ内にモデムを搭載してRJ11(電話のモジュラー端子)を実装している珍しいゲームで、そのモデムの通信機能を使いオンラインプレイを実現しています。「もしもし」するための電話でオンラインプレイなんてどうやるの?なんて疑問に思う若い方がいるかもしれませんが、パソコン通信時代は当たり前の装備でした。
そんな昔話はさておき、shogihaxです。
CTurt氏はshogihax開発に至った細かいいきさつまで説明していますが、かいつまんで説明するとshogihaxは『森田将棋64』のモデムでダイヤルする電話番号の文字列拡張によるバッファーオーバーフローを利用したセーブデータexploitで、実行するコードデータはモデムで外部から送るという仕組みになっています。
動画では「Homebrew Channel」というテキストが表示された画面で「ONE」「TWO」「THREE」というテキストメニュー選択カーソルを上下させているだけのもので、コードの実行ができることを示しているに過ぎません。実用性の有無はともかく、Nintendo 64実機でユーザーが任意のコードが実行できるというのは驚愕に値する事実です。
実用性を語り出すと誰も話を聞いてくれなくなるでしょうから、shogihaxによって『森田将棋64』のカートリッジがこれから高値高騰するようなことはないと思いますが、「こういうの面白いよね」と興味を持った方はGitHubでコードが公開されていますので眺めてみるのと良いでしょう。