138
31 ななしのよっしん
2014/05/20(火) 23:50:29 ID: 1R9alZY6lz
昔のゲームを接触不良とかでバグったままプレイしてたら唐突にEDになったなんて話をたまに聞くけどそれも任意コード実行が原因だったのかな
32 ななしのよっしん
2014/05/21(水) 00:15:31 ID: 3cwD2cED0s
>>31
それはただのショック技です
任意コードのにの字もないです
33 ななしのよっしん
2014/05/21(水) 00:24:30 ID: AKqMCVoXHx
>>31
任意ではないけど、偶然エンディングのコードを実行しちゃったんだろうねー
34 ななしのよっしん
2014/05/22(木) 08:20:03 ID: Ms+JrY2vmp
もともとお遊びとしては、初代ポケモンみたいなゆるゆるなゲームでは昔からやられてたよね
これがTASに使える進度の位置に当該バグがあればACEになるわけだ
ともかくバグが入口になるわけで、fastest crushには意味があったんだなあという感慨も
35 ななしのよっしん
2014/05/22(木) 18:00:43 ID: 1YHfnX1/3t
凄いとは思うんだが見たいのはスーパープレイなんだよな
36 ななしのよっしん
2014/05/23(金) 19:17:48 ID: Rvovv2X+nM
スーパープレイみたいならTASさんの休日でも漁ればいいんじゃないっすかね…
37 ななしのよっしん
2014/06/05(木) 14:50:48 ID: hbdnlMvePl
TASvideosの規定?だと、操作説明にない仕様外の行動はしちゃだめ、みたいなのがあるって聞いことあるけど、任意コード実行とかセーブデータ破壊についてはどういうスタンスなんだろう。
これがありなら、ロックマンのパスワードもGTAの隠しコマンドも有りになりそうな気がする。
38 ななしのよっしん
2014/06/11(水) 01:36:15 ID: 7CAoduDVgf
>>37
任意コード実行は本質的にはバグと同じ種類だから仕様外ってことでいいんじゃないかな・・・
これを認めてしまえば上の方で発見される差込具合ですぐエンディングにいけるのだって認めなきゃいけない気がします・・・
39 ななしのよっしん
2014/06/11(水) 18:58:41 ID: 3cwD2cED0s
>>37
そんな規定聞いたこと無いが、それじゃゼルダとかほとんど駄目になるだろう。
仕様外っていうのはエミュレータの不具合を利用したとかそういうのじゃなくて?
40 ななしのよっしん
2014/06/11(水) 19:08:37 ID: ztjGKk1AUw
>>37
それって十字キーの上下とか左右の同時押しとかじゃないの?
41 ななしのよっしん
2014/06/11(水) 23:41:23 ID: krrVZBiBne
>>37
基本的には実機で「理論上」再現できるってのがTASの原則だからゲームプログラムの「物理的改竄」や「コントローラー等の純正品を除く外部ツールの使用」をしていない限り認められるものだと思う。
まあ現状は2作品だけだけど今後任意コード実行できるゲームが増え続けるのなら任意コード禁止TASがはやるだろうさ
42 37
2014/06/12(木) 08:59:45 ID: hbdnlMvePl
回答サンクス
自分の勘違いで、TASvideos的には問題ないのね。
となるとやっぱり、これが有りでパスワード入力が認められないのがわからない。
禁止はされてないけど暗黙の了解というか製作者の矜持でやらない、ってだけなのかしら。
43 ななしのよっしん
2014/06/21(土) 18:50:38 ID: HHbpYV54gi
44 ななしのよっしん
2014/06/21(土) 19:02:37 ID: xTsIEGMt50
>>sm23825129
やりやがった
45 ななしのよっしん
2014/06/21(土) 19:16:24 ID: U55atxq5Qv
46 ななしのよっしん
2014/06/24(火) 17:16:49 ID: ZacJElZ3rb
>>44
人力任意コード入力とか頭おかしいんじゃなかろうか…
おかしいのは頭じゃなくて腕か
47 ななしのよっしん
2014/06/29(日) 13:10:38 ID: U55atxq5Qv
>>sm23886653
メモリ調整のためにマルチタップを2つ繋げてるらしい
48 ななしのよっしん
2014/06/29(日) 14:42:49 ID: 3cwD2cED0s
49 ・w・
2014/08/03(日) 05:02:38 ID: eCJJp69NYt
【TASさんの休日】円周率がポケモン黄で遊んでみた【πジャック】
についてです。
1.まずセーブデータ領域に書き込み中に適切なタイミングで電源を切ることで
セーブデータ領域にポケモン所持数が255の状態で保存されます。
2.再起動してセーブデータを読み込みます。
この時、ポケモン所持リスト値は6固定であるため255として読み込まれると、
本来利用してはいけないメモリ領域を参照可能になってしまいます。
そして参照箇所を入れ替えることによって本来の動作とは違う動作が出来てしまうのです。
この動画ではそれを複数回行うことで、メモリの連続した空き領域に、
道具リストを利用してデータを書き込み、それを実行可能にしています。
噛み砕いて言うと
[キャラクターデータ][所持ポケモンデータ][道具リスト][手持ちポケモンリスト][制御]
このようにメモリ領域が並んでいたとして、
[手持ちポケモンリスト]には、リストの呼び出し先のポケモンへの場所が書いてあります。
簡単に見ると、ポケモン預かりリストを見ていただければ想像しやすいと思いますが、
手持ちの2番目のポケモンとして連れて行きたいポケモンは、
ポリゴンで、Lv13だったなという時に、
グループ3の左から3つ目、上から3つ目のポケモンがポリゴン13Lvだな。
という事でそのポケモンを連れて行く。
と言うのと同じです。
この呼び出しリストはすべて「呼び出し参照先リスト」から読み込まれていますので、
6匹を超えた場合にはその後ろのプログラム制御の部分が参照可能になってしまうのです。
50 ・w・
2014/08/03(日) 05:03:41 ID: eCJJp69NYt
この、プログラム制御の部分は例えば
前に進めという命令を参照している場合、
前に進むには足を動かさなければならないだとか、
そういう事が書かれた部分です。
そしてそれはポケモンリストとして参照可能であるため、
参照先の移動ができてしまいます。
本来前に進めという命令を参照しなければならないのに、リストを入れ替えたために
後ろに進めという命令に置き換えたりと言う事です。
今回はキャラクターを非表示にしたり、道具リストを利用して
任意のデータを連続した空きメモリ空間に書き込めるようにしています。
この空きメモリへの書き込みはゲーム内でも可能ですが、
命令を書き込んだりしなくてはいけないため、手動で書き換えるにはすこし難しすぎます。
その為今回は実際にゲーム内で書き込み可能なデータをツールを利用して実行しています。
このツールは空きメモリに書き込んだ後、
キーストロークを音楽に同期して送信しています。
なお、このTASの最後は画面を円周率とPiで埋め、直後の動作を無限ループさせることで、
擬似的にクラッシュさせています。
51 ななしのよっしん
2014/08/05(火) 12:15:12 ID: q9NNT7gmLs
バッファフローでリターンアドレスに実行したいプログラムのアドレスを書き込む
52 ななしのよっしん
2014/08/05(火) 12:31:37 ID: q9NNT7gmLs
>>51
ゲームの場合はセーブデータを弄ってオフセットを調整する
53 ななしのよっしん
2014/08/24(日) 03:36:54 ID: Un1tizyVAh
スレチだとは思うが、MUGENの直死バグと似たような雰囲気を感じるな
あっちも任意コード実行できるバグもあるし
54 ななしのよっしん
2014/10/21(火) 18:26:55 ID: X75KF2gEqD
55 ななしのよっしん
2014/11/30(日) 12:29:42 ID: 9Kao178srN
検索画面に並んだ大量のfastest crashがすべてTAS新記録予備軍として立ち上がってくる
56 ななしのよっしん
2014/12/19(金) 16:11:31 ID: +dYGIMQkRh
ようするにバッファーオーバーランだろ、勝手に新しい名前をつけるなと言いたい
57 ななしのよっしん
2014/12/20(土) 15:20:21 ID: U55atxq5Qv
バッファオーバーランは任意コード実行の手法のうちの一つだよ
というかバグオブジェクト利用のTASのほうが多いし、バッファオーバーランを使ってるTASは現状存在しないはず
58 ななしのよっしん
2015/01/03(土) 10:27:01 ID: 5niDAUM9at
>>56
バッファオーバーランは「プログラム領域にデータを書き込む」ことだけど
任意コード実行では「データ領域にコードポインタを移動させる」ことが多いように思う
59 ななしのよっしん
2015/01/03(土) 21:53:03 ID: kPMnud518n
60 ななしのよっしん
2015/01/03(土) 22:53:41 ID: En47Dd9QzA
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。