パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

近年注目される「任意コード実行を使ったゲームの高速クリア」」記事へのコメント

  • by Anonymous Coward

    そんなに新しくない気がするが俺の勘違いだろうか…?

    • by Anonymous Coward on 2014年05月15日 18時08分 (#2601615)
      昔の事情を知らないので教えてもらえるとありがたいです。
      具体的にどんなことが行われていたんですか?
      親コメント
      • by hahahash (41409) on 2014年05月15日 19時12分 (#2601672) 日記

        上のACが思ってるのとは違うかもしれんけど、
        『マップ端から不正規のメモリ領域にアクセスしてデバッグモードに強制突入する』
        とか、
        『64個目の武器や防具を装備することで不正規のメモリ領域にアクセスしてゲーム内の任意メモリを書き換える』
        とか、そういうの?

        その手のバグ利用TASは、理論上実機再現可能とはいえ通常のクリア手順とあまりに違うので、
        これまではわりと番外的なもの、という扱いだったのだけど、
        これはこれでいろいろと詰めるところがあって面白いから、
        最近は、そういうジャンルとして認められてきた。

        みたいな印象。

        親コメント
        • by Anonymous Coward
          それぞれどのゲームの話でしょうか?
          • by Anonymous Coward

            ACに真面目にコメントつけるのもなんだけど、検索すれば出てくるような内容まで教えて君な生き方をすると、人生ダメになる可能性が高いですよ?
            それでもあえて教えてほしいと言うことであれば教えなくもないですが、尋ねる方は尋ねるなりの尋ね方というものがあるわけでして、人との関わり方を排除してただコミュニケーションを取ろうというのであれば、それは()

      • by Anonymous Coward

        TASにもバグ利用ありと利用なしがありまして、
        今回の件はバグ利用ありTASの一部ですね。

        たとえばSFCロマサガのホークの開始直後のレイディバグで、
        乱数調整すると2分でエンディングにテレポートできるとか
        ドラクエ3のランシールバグで乱数調整すると
        ラダトームだったかゾーマ城だったかにテレポートするとかは
        何年も前にyoutubeでみましたね。

        • by Anonymous Coward
          ツール等で乱数調整する程度のチートが「任意のコードを実行」に当てはまるのなら確かに昔から行われていましたね。
          私はまったくそういう解釈をしていなかったので、どんな具体例が?と思って尋ねてみたのですが。
          この記事で言う「任意のコードを実行」とはその程度の話なのでしょうか。
          • by Anonymous Coward

            TAS界隈では、バグ利用+メモリのアドレス利用って、悪魔城ドラキュラシリーズが有名だと思ってましたが
            (「TAS 悪魔城」で検索すると、ジョン・カビラ解説付きが検索に引っかかる世の中)

          • by Anonymous Coward

            > この記事で言う「任意のコードを実行」とはその程度の話なのでしょうか。

            そもそもあなたは前提を理解できていません。

            レイディバグやランシールバグそのものは乱数調整とは違います。
            バグにより本来想定されていない状態を作り出すことです。

            そのうえで、各種操作やウェイトの調整で特定のメモリ上の値を目的に沿った値に調整する工程が発生します。

            ここで調整対象になるメモリアドレスに格納されているものは
            実行コードでも変数でもありえます。
            それによりバグの結果が軽度から重度、ゲーム継続可能からフリーズや強制リセットまで多岐に渡ります。
            既知の多くのバグ技において、
            実行コードの部分が変更されたことによる結果だったというものがあるでしょうね。

            結局、メモリの内容を特定の状態にしたうえで、特定の処理を起こして目的を達成してるだけです。

            • by Anonymous Coward

              それらはせいぜい「任意アドレスへのジャンプ」しか出来ないんじゃないかな。
              レイディバグやランシールバグで任意コードの書き込み、つまり「コーディング」って出来るの?

              • by Anonymous Coward
                「任意アドレスのジャンプ」が出来ると、結構なことが出来る可能性がある。

                特定のアイテムを特定の順番で持ち、それらアイテムのゲーム内コードが機械語命令列として成立するよう頑張り、 そこへジャンプすると言うようなやり口で。

                この辺りは、TASというより、真面目なセキュリティホール業界でも、かなりの技術開発(攻撃方法と防御方法のいたちごっこ)がされてる。
                本来のプログラムを断片的に切り貼りするような方法で目的のコーディングを成し遂げるとかそういう。

                例えば、「入力中のボタンのon/offパターンを表すコードを、メモリ上のどこかに保存する」という機械語命令まで再現できれば、
                未使用領域にプログラムを放り込んでいけるので、出来る事がほぼ無制限になる。
                今後のますますの発展に期待したい。
        • by Anonymous Coward
          レイディバグの乱数調整方法って解析されたの?
          数万回試行して引き当てた動画は見たことあるけど

          ともあれそれは乱数調整使う普通のバグありTASだと思うが
          • by Anonymous Coward

            > ともあれそれは乱数調整使う普通のバグありTASだと思うが

            レイディバグのなんでもありな結果を見ればわかる通り、
            変数の調整だけでなく明らかに実行コードも影響範囲に入ってますね。

            いきなりエンディングはわりと頻度が高いらしく、
            「よくある結果」のうちの一つのようです。
            毎回メモリの状況を記録しながら思考させていれば
            どんなメモリ状態になったときにエンディングになるかもわかるでしょうし、
            解析結果としての動画も作れるでしょうね。
            やる人がいるかどうかだけの問題でしょう。

            • by Anonymous Coward
              バグ自体が以前から認知されているのはロックマンでも同じなんですが。
              コードを実行してEDまで持っていくという再現性100%のゲームクリア(TAS)に利用されてきた事例がなかったのなら
              「ACEに使えそうなバグが既知である」だけであって「ACEを使ったTASが古くからある」わけではないでしょう
              • by Anonymous Coward

                > コードを実行してEDまで持っていくという再現性100%のゲームクリア(TAS)に利用されてきた事例がなかったのなら

                まだ話が通じてないんですね。

                バグで開発者が想定してないメモリ内容の書き換えが起こるゲームはそれこそ山ほどあります。
                そしてその中には実行コードが書き換えられた結果も山ほどあります。
                それによるTASってのも当然あるでしょう。
                単に実行コード書き換えによる結果と気づかれていない、また気づかれる必要もないだけです。

                再現性の話に固執したいなら、それもあなたの認識が間違っています。

              • by Anonymous Coward

                ACE「任意コード実行」の定義は、
                RAM領域の変数を事前に変化させることでコードを書いておいて
                バグを引き起こして、そのRAM領域にあるコードを実行することです。

                これまでの多くのバグはそれを利用していません。
                RAMの内容がバグにより壊れることで、
                動作しているプログラムがRAMやスタックの内容を間違えて読みとって処理しているにすぎません。
                エンディングが呼び出されたからといってACEというわけでもないのです。

              • by Anonymous Coward

                >まだ話が通じてないんですね。

                どうみてもあなた一人だけが的外れな議論をしているようにしか思えない。
                一番最初のトピック記事をもう一度読んでみよう。

                >「任意コード実行(ACE)」と呼ばれる手法を使った超短時間でのゲームクリアが注目されている

                昔からその手法があったかどうかなんて話はあなた以外はしていない。

                また「また気づかれる必要もない」わけもなく、
                『テクニック』としてゲームクリアのために能動的に『手法を使った』ことが注目されている。

                ゲーム中のほぼランダムなメモリの状態のうちのあるパターンを狙い撃ちするのでは決して無く、
                『任意に』メモリの状態を自ら作り出し、それを実行することがACEのテクニックである。

                メモリパターンにあわせて操作するのではなく、
                操作することでメモリパターンを作り出す。
                まったく因果が逆のテクニックです。

              • by Anonymous Coward

                「ランシールバグでマインスイーパーが遊べるか?」と訊かれたら答えはノーだ。

                だが「任意コード実行(ACE)でマインスイーパーが遊べるか?」と訊かれたら、これはイエスだ。
                荒唐無稽な話に聞こえるかもしれないが、事実可能なんだよ。

              • by Anonymous Coward

                勘違いしてるよって指摘されてるのだから、無理矢理自分の話を通じさせようとする前に、自省しましょう

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...