スコア&タイム表示 このゲームの特徴はスコアによって変わる称号ですね 敵に見つかったのか見つかっていないのか 微妙で分からない時もしばしば。 文字列をラベルから探していったところ "SCORE:%d" というラベルが見つかりました 文字列のすぐ近くには "TIME %03d:%02d" という文字列も存在します「C言語で文字列を扱うと%が入る」 というような事がゲームラボで書かれています (2002,4月号のP158〜P159参照) ・・・私はC言語とかサッパリな人間なので 勝手にこう解釈しちゃってるんですが(笑) とりあえずプログラムに関係する文字列では? と予想できます。 早速"SCORE:%d"を参照先に指定しF3で検索 すると一箇所だけヒットしました そこから下方向を探してみると "TIME %03d:%02d"の参照先も存在します
デバッグモードを探す時のように 文字列をスキップしようとしている命令を探し 潰して効果が無いか調べて見ようと思います 怪しい命令のあるアドレスは以下の2つ 00271450 10400044 00271464 1443003f どちらも大きく分岐する命令で 文字列をスキップする可能性があります とりあえず00271450の方を潰してみます 今回はnopではなく、私のいつも使う方法の 分岐先を2命令先に変更する物を使ってみましょう nopでも問題は全く無いのですが、暗号化した時にコードを見ても 一目で「このコードは分岐を潰しているな」 というのが分かり易いようこういう方法を取っています。 A0271450 10400001 〜暗号化〜 9CB29778 0496E7A6 さあ、早速使ってみると・・・ スコアとステージプレイタイムが表示されています 00271464の方は潰さなくても表示されるので この1行だけでも大丈夫なようです。 聞いた話によると、このスコア表示などは 隠しコマンドで出現するとの事なので そのコマンド実行後の関数なのかなと思います。