ゲームまたはアプリケーションのパッチを作成するには、どのような知識が必要ですか?

StackOverflow https://stackoverflow.com/questions/237331

  •  04-07-2019
  •  | 
  •  

質問

ソフトウェアベンダーがアプリケーションやゲームを出荷し、その後、以前のビルドの動作を変更する実行可能ファイルの別のセットを提供する方法については、常に神秘的にされてきました。これはどのように行われますか?元のアプリケーションとパッチは何らかのルールに従う必要がありますか?または、パッチは元の実行可能ファイルにクロールされ、アセンブリ情報を変更しますか?それには、バイトレベルのバイナリファイルの知識が必要ですか?

役に立ちましたか?

解決

私が見た主な方法は2つあります。多くのプログラムは、実行時に動的にロードされるいくつかの小さなパーツで構成されています。多くの場合、これらのファイルは単に新しいバージョンに置き換えられます。更新はこれらのファイルの比較的少数にしか影響しないことが多いため、パッチはアプリケーション全体の小さなサブセットである場合があります。他の方法は、より大きなモノリシックアプリケーションで使用されてきましたが、一種の「バイナリdiff」を使用して実行可能コードを実際に変更することです。このアプローチの欠点の1つは、各インクリメンタル更新を実行せずに、以前のいくつかのリビジョンから新しいバージョンへのアップグレードをサポートすることがより困難であることです。

他のヒント

ほとんどの場合、"パッチ"単なる置換ファイルです。

ただし、2つのバイナリファイルを比較し、それらの違いを判断し、一方を他方に変更する編集コマンドのセットを作成することは可能です。 Unixユーティリティ" diff"たとえば、テキストファイルに対してこれを行うことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top