Welches Wissen benötigen Sie, um einen Patch für Ihr Spiel oder Ihre Anwendung zu erstellen?

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

  •  04-07-2019
  •  | 
  •  

Frage

Ich wurde schon immer mystifiziert, wie Softwareanbieter ihre Anwendung oder ihr Spiel versenden können, und liefern später eine andere Reihe von ausführbaren Sachen, die das Verhalten des vorherigen Builds ändern. Wie ist das gemacht? Müssen die ursprüngliche Anwendung und der Patch eine Art Regel einhalten? Oder kriecht der Patch in die ursprüngliche ausführbare Datei und ändert seine Montageinformationen? Würde das die Kenntnis der Binärdatei auf die Byte -Ebene erfordern?

War es hilfreich?

Lösung

Es gibt zwei Hauptmethoden, die ich gesehen habe. Viele Programme bestehen aus einer Reihe kleinerer Teile, die zur Laufzeit dynamisch geladen werden. Oft werden diese Dateien einfach durch neuere Versionen ersetzt. Da Updates häufig nur eine relativ kleine Anzahl dieser Dateien betreffen, kann der Patch eine kleine Teilmenge der gesamten Anwendung sein. Die andere Methode, die ich mit größeren monolithischen Anwendungen verwendet habe, besteht darin, den ausführbaren Code mit einer Art "binärer Diff" tatsächlich zu ändern. Einer der Nachteile mit diesem Ansatz ist, dass es schwieriger ist, das Upgrade auf eine neue Version aus einer Version zu unterstützen, die mehrere Revisionen zuvor zuvor ohne jedes inkrementelle Update durchführen müssen.

Andere Tipps

Ich vermute, dass "Patches" die meiste Zeit nur einige Ersatzdateien sind.

Es ist jedoch möglich, zwei Binärdateien zu vergleichen, ihre Unterschiede zu bestimmen und eine Reihe von Bearbeitungsbefehlen zu erstellen, die eine in den anderen ändern. Das Unix -Dienstprogramm "Diff" kann dies beispielsweise für Textdateien tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top