AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Entwickeln eines Patchers / Updaters
Thema durchsuchen
Ansicht
Themen-Optionen

Entwickeln eines Patchers / Updaters

Ein Thema von Cicaro · begonnen am 12. Jan 2009 · letzter Beitrag vom 13. Jan 2009
 
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#1

Entwickeln eines Patchers / Updaters

  Alt 12. Jan 2009, 19:14
Hallo,

ich möchte einen Patcher schreiben, wie solche bei Online-Spielen verwendet werden um manipulierte oder veraltete Dateien, die Teil des Spiels sind, auf den neuesten Stand zu bringen. Der Patcher soll jedes Mal vor dem Programmstart ausgeführt werden.

Dazu hab ich mir folgende Gedanken gemacht:

1) Situation:
a) Auf einer Patch-Server-Maschine liegen die aktuellsten Dateien, die überhaupt jemals gepatcht werden sollten.
b) Daneben liegt der eigentlicher Patcher patch.exe, der auf einem Client ausgeführt wird (die Datei ist möglichst klein).
c) Auf dieser Maschine läuft der Patch-Server, der zum Patchen von den Clients angesprochen werden kann.
d) Auf einem Client liegen alte Dateien, die zum Programm gehören und möglicherweise gepatcht werden müssen.
e) Gestartet wird das Programm (auf dem Client) mit der Anwendung start.exe.

2) Ausführung des Patches:
a) Wenn der Anwender also start.exe startet, verifiziert es zuerst ihre eigene Identität beim Patch-Server (durch einen Hash-Wert oder so) und lädt dann patch.exe für den Client herunter.
b) Auf dem Client wird patch.exe ausgeführt.
c) patch.exe überprüft, welche Dateien auf dem Client "veraltet" sind, lädt diese über den Patch-Server herunter und ersetzt die alten Dateien durch die neuen.
d) Nachdem der Patch-Vorgang beendet ist, wird das eigentliche Programm program.exe gestartet und der Anwender kann mit der aktuellsten Version des Programmes arbeiten.

Dass patch.exe heruntergeladen wird, dient dazu, dass keine gecrackte Version des Patchers ausgeführt wird.

3) Fragen:
a) Ist das eine gute Vorgehensweise ? Oder gibt es noch eine Lücke, die ohne zu viel Aufwand behoben werden kann ? Oder ist etwas überflüssig ?
b) Wie überprüfe ich am besten die richtige Identität von start.exe auf dem Client ?
c) Wichtig !!! Wie kann ich überprüfen, welche Dateien auf dem Client veraltet sind ? Selbe vorgehensweise wie bei start.exe ?
d) (Hat eigentlich noch keine Priorität) Wie kann ich verhindern, dass program.exe vom Anwender einfach ohne Patchen gestartet wird ?
e) Ist das Herunterladen von patch.exe in Ordnung oder ist das ein zu großes Risiko für den Client ?

(Bestimmt gibt es zu einzelnen Fragen bereits Lösungen im Forum (die ich nicht finden konnte), aber mir ist der Gesamtvorgang wichtig und ich wollte alles hier für mich und für andere auf einem Blick haben.)

Ich verlange keine vollständige Lösung. Hilfe an einzelnen Punkten wäre nett.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz