GitHubで、alula氏がArtemisエンジンで開発されたビジュアルノベルゲームを利用して任意のコードを実行できるようにしたswitch-artemis-launcher v2をリリースしていました。
Artemisエンジンはマルチプラットフォーム(Windows / Android / iOS / Web / Nintendo Switch / Playstation)のビジュアルノベルゲームエンジンです。Artemisエンジンで開発されたゲームはその殆どが起動時にsave9999.datファイルをロードする仕様になっていることを利用してセーブデータ読み込み後に続けてセーブフォルダからカスタムluaスクリプトを読み込んで実行できるようにするものです。
サポートタイトルは
『Nora, Princess and Crying Cat 2 Demo』(日本版は『ノラと皇女と野良猫ハート2 体験版』)
『Seedsow Lullaby Demo』(日本版は『たねつみの歌 体験版』)
『Hamidashi Creative Demo』((日本版は『ハミダシクリエイティブ 体験版』))
です。ただし現時点でNintendo Storeで入手できるのは『ハミダシクリエイティブ 体験版』のみです。それ以外は過去にハックに利用できると名前が出たのでストアから撤去されてしまっているからです。『ハミダシクリエイティブ 体験版』も同様の運命を辿る可能性が高いです。
それぞれハックの名前が付けられていて
『ノラと皇女と野良猫ハート2 体験版』はnorahax
『たねつみの歌 体験版』はseedsowhax
『ハミダシクリエイティブ 体験版』はhamihax
になっています。
switch-artemis-launchermp使い方はSeedsow Lua Editorと同じです。
AtmosphereをインストールしたSwitch 1でセーブデータマネージャーJKSVを使ってswitch-artemis-launcherの該当ゲーム
『ハミダシクリエイティブ 体験版』はhamidashi_save.zip
『ノラと皇女と野良猫ハート2 体験版』はnora2_save.zip
『たねつみの歌 体験版』はseedsow_save.zip
のセーブデータと差し替えて「セーブデータの引っ越し」を使用して差し替えたセーブデータをSwitch 1からSwitch 2へ移行、です。
これでSwitch 2でLuaコードを実行できるようになります。HTTP経由でLuaコードが実行できます。特徴はアップデートの仕組みを取り入れてあり、セーブデータを作り直して転送したりしなくても(してもいいですが)Switch 2で2.luaというスクリプトを記述することで以下のスクリプトをPCから更新することができます。
・core.lua
・http.lua
・inject.lua
注意点としては、これは体験版専用のセーブデータなので製品版には非対応です。製品版い対応したバージョンをフォーク(派生版)としてsoniciso1氏がswitch-artemis-launcher v1.0.0 + full game supportをリリースしています。製品版と言っても対応したのは『たねつみの歌』のみです。どうも製品版と体験版ではオフセットが異なるのでそこを調整する必要があるようです。
switch-artemis-launcherはそれ自体でLuaで書かれたコードを実行できることも特徴ですが、今後登場するexploitのエントリーポイントとして利用することができるということの方が利用価値が高いです。ただファームウェアアップデートで何らかの形で潰される可能性もありますのでご注意を。