Seite 1 von 3
Exe ändern
Verfasst: 12.04.2005 22:59
von zigapeda
Hallo
es gibt ja immer diese Updates und Patches. Wie funktionieren die? Ich glaube sie ändern irgendwas in der exedatei. stimmt das? wenn ja wei würde das mir PB funktionieren.
Verfasst: 12.04.2005 23:04
von Ynnus
Wenn ich das richtig verstehe willst du einen Patch schreiben? Ich würd da einfach eine neue Exe Datei beilegen und diese über die alte kopieren. Dann hast du das neue Programm. Und direkt im Maschinencode der Exe rumbasteln, hui, weiß nicht ob das mal eben so machbar ist...
EDIT: Aber generell kann man mit OpenFile() und ReadByte und WriteByte Dateien ändern oder neuschreiben. (Byte als Beispiel für Long, Float, String und so...)
Verfasst: 12.04.2005 23:10
von Deeem2031
Im Prinzip braucht man doch nur die Unterschiede auf Byte-Ebene zwischen der alten Exe und der neuen Exe raussuchen und ein Program schreiben die diese Änderungen vornimmt. So hat das bei mir jedenfalls schonmal funktioniert:
http://forums.purebasic.com/german/arch ... ight=patch 
Verfasst: 12.04.2005 23:14
von zigapeda
Wenn ich jetzt ein 10 MB Programm habe und ich will ein Update programmieren bei dem 5 - 6 bugs behoben werden, ist es schlecht wenn das update dann auch 10MB groß ist. Und mit der Maschienensprache wird da glaub ich auch nicht gearbeitet. Ich habe eher so gedacht das es so In das Programm Includete dateien sind die "ausgewechselt" werden.
Verfasst: 12.04.2005 23:19
von MVXA
Müsste doch auch mit Deeems methode auch funktionieren.
Verfasst: 12.04.2005 23:47
von Ynnus
2 Gründe warum das Ersetzen der Exe eine (imo) gute Methode ist:
1. Ist deine Exe immer 10 MB groß? Die wenigsten Exen sind wirklich so riesig. Und gerade bei PB brauchst du dir da keine Gedanken machen weil die Exen immer recht klein sind.
2. Im Zeitalter von DSL kein Problem. Selbst Grafiktreiber sind nicht mehr < 10 MB, teils sogar weitaus größer.
Ich habe eher so gedacht das es so In das Programm Includete dateien sind die "ausgewechselt" werden.
Wenn du Binaries in die Exe eingebunden hast, dann sollten die eigentlich in unveränderter Form dort vorzufinden sein. Wenn es also etwas ist was nicht Quellcode sondern eingefügte Daten sind, lässt sich das nachher sicher noch ändern. Ich habs nicht getestet aber sollte schon gehen.
Verfasst: 13.04.2005 00:51
von MVXA
Finde das Nachpatchen aber irgendwie interessanter. Aber wenn du Modem Bentzer mit Füßen treten willst. Nur zu. Nimm aber dann die Schuhe mit den Stahlkappen

.
Verfasst: 13.04.2005 06:38
von zigapeda
sorry hab den beitrag von deeem noch nicht gesehen aber geanu so hab ich das gemeint thx. Hatte erst eine exe mit 5,5MB (Hauptsächlich wegen grafik und sound) und mein kumpel braucht eine halbe stunde um sich diese runterzuladen.
Verfasst: 13.04.2005 13:17
von diGGa
vielleicht die grafik/sound sachen einfach aus der exe rauslassen und extern machen... (ka obs mit pB geht sollte aber) zB als pak und dann eben nur die exe mit dem code ersetzen... patch gleich viel kleiner. so machen es zB die großen spiele.
Verfasst: 13.04.2005 14:05
von Salami
Es ist doch schon gepostet worden: Ein Programm, dass 2 exe dateien vergleicht und dann einen patch mit den änderungen erzeugt. Ist natürlich nicht leicht, aber wenn es dir nicht wichtig ist ob du dieses Patcher-Programm selber machst gibt es ja schon viele vorgefertigte, zB das von deeem (funktioniert glaub ich so) oder auch andere wie zB Codefusion oder PatchEngine wenn es schnell gehen soll.
Links:
Viele Patchers
Codefusion
PatchEngine