任意コード実行とは、以下のものを指す。
本稿では2について記述する。
ゲーム中のバグやプログラムミスを利用し任意のコードを実行させることで、エンディングを呼び出したりゲームを作ったりできる。
事前にメモリ内容を調整することでエンディングを呼び出すためのコードを準備し、バグによってコードを発動。めでたくエンディングを迎えるというのがエンディング呼び出しTASの基本的な流れである。
エンディング呼び出しコードを「ボタン入力を元にメモリに書き込み、それを実行する」という内容のコードに変えれば、メモリ全体を目一杯使うことでまったく別のゲームを構築してしまうことも可能となる。
人間によるプレイだったり、事前のメモリ調整が足りなかったりするとクラッシュ(フリーズ)するだけで終わってしまう。ただのフリーズバグのように見えたfastest crashが実は任意コード実行への入り口だった、という例も少なくない。マリオ3におけるkentora12氏の功績は大きい。
人力での任意コード実行が可能なバグとしては、ポケモン赤緑青のバグアイテム「5かい」を使った通称「5かいバグ」がごく一部で有名である。
任意コード実行のように見えるがそうではない例をいくつか挙げる。
任意コード実行とそうでないものを見分けるのは難しく、TAS製作者による解説がないと不明なことが多い。
「エンディングに直行しているから任意コード実行だ」などと決めつけてはいけない。
RTAで任意コード実行
掲示板
124 ななしのよっしん
2023/02/14(火) 19:16:10 ID: p3h88rxhW+
何一つ要せていない…
125 ななしのよっしん
2023/02/14(火) 19:17:16 ID: cPgPgQc0kW
外部機器を使ってプログラムを改造するチートは違法、プログラム自体には手を加えない任意コード実行は合法
というイメージだけど合ってる?
126 ななしのよっしん
2024/02/29(木) 22:17:00 ID: K6wxNdi1At
ゲームをぶっ壊す上ではどこまでが「正当」な操作なのかは曖昧ではある
例えばリアルのセキュリティを考える上では「サーバーに刺さっているメモリを特定のデータを書き込んだものに差し替える」のも「LANケーブルを途中で切って間に通信を読み取るデバイスをつなぐ」のも可能であれば脆弱性をついたクラッキングとして適切
ただ、ホットプレートRTAが何故わざわざ「なんでもあり」と注釈を入れているのか考えてみてほしいところだ
急上昇ワード改
最終更新:2024/03/29(金) 00:00
最終更新:2024/03/29(金) 00:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。