単語記事: 任意コード実行

編集  

任意コード実行とは、以下のものをす。

  1. セキュリティ上の欠陥(脆弱性)を利用して任意のコード(プログラム)を実行すること。
  2. 1より転じて、TAS(Tool-Assisted Speedrun, Superplay)において任意のコードを実行すること。TASVideos内ではACE(Arbitrary Code Execution)と呼ばれている。

本稿では2について記述する。

概要

ゲーム中のバグプログラムミスを利用し任意のコードを実行させることで、エンディングを呼び出したりゲームを作ったりできる。

事前メモリ内容を調整することでエンディングを呼び出すためのコードを準備し、バグによってコードを発動。めでたくエンディングを迎えるというのがエンディング呼び出しTASの基本的な流れである。
エンディング呼び出しコードを「ボタンを元にメモリに書き込み、それを実行する」という内容のコードに変えれば、メモリ全体を一杯使うことでまったく別のゲームを構築してしまうことも可となる。
人間によるプレイだったり、事前メモリ調整が足りなかったりするとクラッシュ(フリーズ)するだけで終わってしまう。ただのフリーズバグのように見えたfastest crash実は任意コード実行への入り口だった、という例も少なくない。マリオ3におけるkentora12氏の功績は大きい。

任意コード実行のトリガー

任意コード実行トリガーとなるバグの例をいくつか挙げる。

での任意コード実行が可バグとしては、ポケモン赤バグアイテム「5かい」を使った通称「5かいバグ」がごく一部で有名である。

任意コード実行ではない

任意コード実行のように見えるがそうではない例をいくつか挙げる。

任意コード実行とそうでないものを見分けるのは難しく、TAS製作者による解説がないと不明なことが多い。
エンディングに直行しているから任意コード実行だ」などと決めつけてはいけない。

関連動画

最速でエンディングを呼び出すTAS

元のゲーム全に乗っ取るTAS

RTA任意コード実行

関連商品

関連コミュニティ

関連項目


【スポンサーリンク】

携帯版URL:
http://dic.nicomoba.jp/k/a/%E4%BB%BB%E6%84%8F%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C
ページ番号: 5230907 リビジョン番号: 2378189
読み:ニンイコードジッコウ
初版作成日: 14/05/14 02:36 ◆ 最終更新日: 16/06/29 17:43
編集内容についての説明/コメント: トリガーを追加
記事編集 / 編集履歴を閲覧
このエントリーをはてなブックマークに追加

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

任意コード実行について語るスレ

92 : nの3乗 :2016/07/29(金) 09:06:19 ID: ygHFkehtLV
>>90
この世の真実明らかになってしまったからね
アノニマス(ハッカー集団)は裏で失笑しているだろうね
93 : ななしのよっしん :2016/09/08(木) 18:26:09 ID: ifnfCNk9fs
進歩しすぎた科学魔法と変わらんってやつの縮図
94 : nの3乗 :2016/10/20(木) 21:56:03 ID: ygHFkehtLV
任意コード実行できる人間が最強じゃね?
95 : ななしのよっしん :2017/02/08(水) 18:32:09 ID: VzFfyv2j4E
クソコテ任意コード実行で消し去りたい
96 : nの3乗の化身 :2017/02/08(水) 18:39:05 ID: Qs6QB1Drmj
>>95
お前が消え去れ
97 : ななしのよっしん :2017/02/09(木) 04:01:36 ID: cwOgonAJmL
内部ではどうなっってんの?
特にピカチュウ版のπダンスや、テトリス実行等々、コードだけじゃなくグラフィックスにも影するような操作はどうやって実現させてるのだろうか
RAMの中身書き換えるといっても、バイナリレベルで記述してんのかね
自由プログラミングするには、ゲーム機CPU命令で動くようなコード機械語で書かなきゃいけないだろうし
もっと単純?
98 : ななしのよっしん :2017/03/04(土) 17:50:15 ID: upfG9p7GM4
Gooniesのつりステージ左上下入+ブーメランバグらせるとマイキー天井ワープや唐突なデモ画面突入を確認しました
リセットも頻繁に起きるし、どこかのMAPへ飛ぶとかはできそうな予感
99 : ななしのよっしん :2017/03/12(日) 14:53:13 ID: aXZZix5FNM
>>sm30578628

わけがわからないよ
100 : ななしのよっしん :2017/06/20(火) 00:17:36 ID: wLQXRmFa4S
>>97
基本的には機械語の書き換えだな。いわゆるノイマンマシンデータプログラムの間に区別がないから、データ読み書きに使うつもりの領域をうっかり実行してしまうようながある場合に、実行コードをぶち込めばCPUには好きなことをさせられる。そうなればグラフィックデータの書き換えだろうとプログラムの書き換えだろうと容量が許す限りはできるんで、エミュレーターのような真似もできるわけだ。
ノリとしては往年のスイッチによるハンドアセンブルみたいなもんで、バグを使って欲しいデータを蓄積していく。
101 : ななしのよっしん :2017/09/14(木) 00:42:08 ID: gnOC92urDT
>>96
お前が消え去れよゴミ虫
急上昇ワード
ニコニコニューストピックス
電ファミwiki
  JASRAC許諾番号: 9013388001Y45123
  NexTone許諾番号: ID000001829