スクウェア・エニックス アミューズ・レ・パイレーツ

まとめ

数週間にわたって、任天堂DS用海賊版カートリッジの輸入・転売業者に激怒。これらのカートリッジは、リンカー、コンピューターを介して数十のゲームをコンソールに入れることができます。詳細は省きますが、明らかに、任天堂弁護士らは「古典的な」治療法に基づいている。その一方で、DS の新しいリリースは、インターネット上の影よりも早く海賊版化されています。一部の編集者を悩ませ始めていますスクウェア・エニックス心の中で。

そして突然、古き良き時代のようにアミーガ/アタリSTフロッピー ディスクを複製する他の工場で、ハッカーとゲーム開発者の間で戦争が再び始まりつつあります。現在までの最新の「楽しい」武器パス、保護ファイナルファンタジー CC: リング オブ フェイト、ユーモアのある愛称死のモグル(国防省)。後者は、タイマー美しい画面を表示する内部遊んでいただきありがとうございます20分ほどプレイした後。高級。

これを楽しみに待っていたハッカーのコミュニティを目覚めさせるには十分でした。その結果、アメリカの特定のフォーラムでは、どちらかというと、決して終わらせることのないゲームの不安定な若いコレクターが多数を占めていることがわかりました。投稿コーディング者の保護を返すエイリアンのスクウェア・エニックス靴下のような。このニュースの最後に、面白半分でオリジナル版の例をコピーしていますが、その目的は単に、古き良き時代のように、そうだ、そうだ、これは戦争だということを指摘することです。しかし、このゲームではパブリッシャーが勝ったことはありません。

スクウェア・エニックス (米国) が米国 (/EU) の FFCC ゲームに導入した「保護」 (実行ファイルが変更されているかどうかをチェックするなど) について、いくつか (間違った) ことが言われています。そこで、午後の調査の結果、次のようなことが述べられています。それについての「真実」:

保護は、ゲーム CRC ではなく、ARM9 DMA3 ソース アドレスに基づいています。

ゲームの開始中 (NDS の電源がオン)、タイマー 0 が起動され、少し後にその値が読み取られます。この 32 ビット値は 0x020FB594 に書き込まれます。ゲームは DMA3 ソース アドレスの値もチェックします (0 であるかどうか。値は実際のハードウェアでは 0 である必要があり、混乱をクリーンアップしない一部のデバイスからゲームが実行されている場合は 0 ではありません)。

その後、ゲームは 0x100 - (timer0 の最初の 3 バイトの合計) (DMA3 ソース アドレスが 0 の場合は +0x80) を作成し、そのバイトを 0x020FB597 に書き込みます。したがって、DMA3 ソース値がゼロに設定されている場合、0x020FB594 ~ 0x020FB597 のすべてのバイトの合計は 0x80 で終わります。 DMA3 ソース アドレスがゼロでない場合、0x00 で終わります。

次に、いくつかのドアを通過するとき (ゲームの開始時にモグを見た後に村に戻るなど)、ゲームは 0x020FB594 の 4 バイトの合計が 0x80 で終わることを確認します。そうでない場合 (つまり、DMA3 ソース アドレスがゼロにされていない場合)、ゲームの電源がオン/リセットされてからどれくらいの時間が経過したかを確認します。その時間が >18mn12 秒の場合 (つまり、カウンターが >= 0x8000 の場合)、「MSoD」をトリガーしてリセットします。ゲームが 0x020FB594 ~ 0x020FB597 の値をチェックする方法が奇妙に見えることに注意してください。timer0 の値が使用されているもののチェックされていないためです。つまり、0x020FB594 の 32 ビット値を「ランダム化」するために使用されているのだと思います。

また、ゲームをリセットすると (スタート + 選択 + L + R)、DMA3 値は実際のゲームではゼロになりません。したがって、実際のゲームのブロックを避けるために、ゲームはリセット時に保護ステータス値 (有効/無効) を保存/復元し、「リセット済み」フラグを設定します。その後、ゲームが再起動され、DMA3 ソースがチェックされた後、ゲームはリセット フラグが設定されているかどうかを確認します。はいの場合、「元の」(つまり、起動時) DMA3 ソース状態 (ゼロ化/ゼロ化されていない) を使用して値を再計算します。

つまり、ゲームに「手動でパッチを適用」する実際の方法は、DMA3 ソース値が 0 であるとゲームに認識させることです。これは、たとえば、0x020286FC (RAM アドレス) の値を 0x4280 に変更することを意味します。

リリースされたパッチ/コード/デバイス ファームウェアのアップグレードは、「MSoD」をトリガーするカウンターを「殺す」だけです。ただし、そのカウンターはゲーム内の他のことに使用されているため (たとえば、FMV 中にチェックされ、ショップで問題を報告する人もいるようです)、それを殺すのは間違いなくかなり危険です。 「ブロック」された「デバイス」の本当の修正は、ゲームを実行する前に単純に DMA3 レジスタをクリアする (実際には、変更されたものはすべてクリアする) ことです...

また、AR コードは DMA3 ソース チェックの実行後に実行されるため、そのようなコードではそのチェックを強制終了することはできません。したがって、(ドアを通過するときに)保護を無効にするコードは次のとおりです。

Kill Protection コード: (夢を見ないでください。コードを残すつもりはありません!)