1. ホーム
  2. Web プログラミング
  3. その他全般

C1ミッション01:ゲームアーカイブスの改造方法

2022-01-18 10:04:10

チャレンジ

定番の「プラント戦記」のように、レベルごとにじっくりプレイするのではなく、最終レベルまで飛ばしたい、自分の指定したレベルから始めたい、「三国志」シリーズのように、より多くの金属や高い属性、強い小道具を手に入れるにはどう「遊ぶ」のがいい、というプレイヤーもいることだろう。どんなゲームでも、一人用のゲームでもネットワークゲームでも、プレイヤーの進行状況やデータは保存される。そのアーカイブされたデータの保存場所をプレイヤーが知ることができ、アーカイブされた情報を自由に変更できるようになれば、「開放」という目的を達成できるのでしょうか。答えはもちろん「イエス」である。二次元データのコンピュータの処理機構さえ知っていれば、簡単にできるのだから。


説明

    {を使用します。 コンピュータの2進数、16進数の意味を理解する。 {を使用します。 {を使用します。 2、7、8、10、2、6、その他のデータの小数間の変換方法を知っている {を使用します。 {を使用します。 WindowsとLinuxで2進数ファイルを修正し、保存する方法を知っている

コンテンツ

    {について Plant War Zombie⼫」のアーカイブファイルを変更して、新規ユーザーの進行度を直接レベル5-2に、お金(エネルギー)の量を直接10,000に変更するようにします。
  • Plants vs. Plantsのテキストメッセージと植物の名前を変更します。

I. タスク実行ツール。

ゲーム プランツ vs. ゾンビ 中国語版

ダウンロードのリンクです。

リンク https://pan.baidu.com/s/1UJeERv_Qes6KMespuD8yGg

抽出コード: h259

ヘックスエディタ:ヘックスエディタネオ

ダウンロードのリンクです。
リンク https://pan.baidu.com/s {未定義
抽出コード: e933

II. タスク実現プロセス。

最初の3つのタスクは16進数エディタを使用して実装され、修正作業に関わる知識は10進数データと16進数データの相互変換である。

PS. スタンドアロンゲームのデータはローカルに保存されるので、ローカルにデータが保存されているファイルを探して修正すれば、ゲーム内のデータを修正することができる

すべての作業を始める前に、まずダウンロードした「Plants vs Zombies」のゲームで新規アカウントを登録します。
/{br (ここではSJMDJGS[世紀末建築家]と名付けた)

画像

1. レベルの修正

レベルを修正する前に、まず、ゲームデータがローカルに保存されているファイルを見つける必要があります。
/{br Zombiesのデータファイルは通常、CドライブのProgramDataフォルダに格納されています。

C:♪ProgramData ♪は、作成されたフォルダやファイルが保存される公共の場所であり、作成者のみが完全に管理できる場所です。ProgramDataを開くと、アプリケーションと同じ名前のフォルダがたくさんあり、その中にはソフトの実行時や固定・アンインストール時に呼び出されるいくつかのファイルや、生成されるいくつかのレコードもここに格納されています。デフォルトでは、非表示になっており、削除することはできません

ファイルのパスです。 C:\ProgramDataPopCap GamesPlantsVsZombies
ここに入ると、2つのフォルダが表示されますので、ユーザーデータが保存されている下のuserdataフォルダをクリックしてください。

ユーザーデータが保存されているフォルダーをクリックすると、.dat形式のファイルが2つ見つかります。 user1.datファイルには、レベルデータ、コインや小道具などが保存されています。

画像

user1.dat ファイルを Hex Editor Neo にドラッグすると、4 列目に 1 が格納され、残りは 0 であることが簡単にわかります。 そこで、4 列目の 16 進データがレベルの情報を表しているかどうかを判断するために、次のようにします。

ゲームの第3階層に到達した後に、user1.datファイルをHex Editor Neoにドラッグすると、以前の 4列目以下のデータが01から03に変更されている したがって というのは、4列目以下の16進数データで、レベル

ゾンビのゲームでは、10レベルごとに大きなレベルになっているので レベル5-2に修正する場合、10進数データ42に相当するため、16進数データ2aに変換する。 Hex Editor Neoで03を2aに変更した後、ゲームを再インストールすると、レベルが5-2にジャンプしていることが確認できます。


2. 金貨を改造する

レベルを変更した後、あなたは、ゲームのインターフェイスは、自動的に店や他のコンポーネントを表示されることがわかります、この時点で我々は店をクリックした後に金が0であることがわかります、今金を変更するために開始されます。

金貨を一定量獲得すると、8列目以下のデータが変化しているので、8列目以下の16進数データが金貨の枚数を記録する情報だと推測でき、ここのデータをffに変更して再入力すると、金貨の枚数が変化しているかどうかが確認できます

再入力後、金貨の枚数が変わっていて2550枚になっていた、のは ffは10進数で255に対応する したがって、『プラント vs. ゾンビ』におけるコインのルールは 16進数は10進数のデータに対応 * 10

ゲーム内の金貨1万枚は10進数で1000枚に相当するので 1000(10)は16進数で3e8のデータに相当します Hex Editor Neoでは、8列目、9列目の

をそれぞれ3eと80に設定し、再度Hex Editor Neoに入力し直すと コインの枚数が思ったより10,000枚にならない が、328300

画像

これは、9列目のデータが高く、8列目から通常の順番でないと推測されます 再度ゲームに入り、Hex Editor Neoで8列目をe8、9列目を03に変更したところ、店のコインの枚数が10,000枚に変更されていることがわかりました。


3. ユーザー名の変更

これまでは、レベル数や金貨を修正する場合、user1.datに修正されていた 別のusers.datファイルでユーザー名を変更する users.dat ファイルを Hex Editor Neo にドラッグすると、以下のように変化します。 08列目から0e列目の16進数データを10進数データに変換すると、ASCIIコードのSJMDJGS(世紀末の建築家)に対応し、これがゲーム内のユーザー名に対応することになります したがって、08列目から0e列目までのデータがユーザー名に対応するものとして、46(16)(10進数データ70に対応)、58(16)(10進数データ88に対応)、44(16)(10進数データ68に対応)に修正されることになる。48(16)(10進数72に対応), 4c(16)(10進数77に対応), 52(16)(10進数82に対応)、0e列は00に変更、再入力後想定通りならユーザー名はFXDHLR(Flying Dutchman)に変更



4. ビューローのテキスト情報を修正する

ビューローのテキスト情報を修正するのに、HEXエディターを使用する必要はありません。 ゲームのインストールパスからpropertiesフォルダを探し、その中にあるLawnStrings.txtを修正する。


ここでは、テキストファイルの修正にメモ帳++を使っていますが、編集はメモ帳だけでも可能です。豆鉄砲のデータを修正することを例に、ゲーム内のアイコンで情報が正常に修正されているかどうかを確認します。

画像


概要

タスクはすべてここにある、一度のゲームデータを変更することも考える勇気がない、初めに、あなたはタスクが一度彼らはこのようなタスクを完了することができるかどうかを疑う見たとき、その後、冷酷な歯の一口がタスクを完了するために旅に乗り出し、タスク自体を完了する過程で、彼らは以前は自分の想像の難しさに負けたことを実現するには、実際の接触が想像ほど困難ではありません後です。タスクを完了する過程で、私はデータバイナリ間の変換に精通するようになり、また、コンピュータ内のバイナリファイルを保存する方法を理解し、より重要なのは、自信と実地の実践的なスキルが向上しました。
人の一生のうちで最も輝かしい日は、名声や富を得た日ではなく、嘆きや絶望の中にあっても上を目指す力を養い、勇敢に困難に立ち向かい、受け入れた日である」という言葉を今でも覚えています。これが最大のターニングポイントです。挑戦することを選んだとき、あなたはすでに成功する運命にあるのです

C1 Mission 01のゲームアーカイブス改造に関する記事は以上となります。ゲームアーカイブの改造については、BinaryDevelopの過去記事を検索していただくか、引き続き以下の記事をご覧ください。