Exe ändern

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Exe ändern

Beitrag 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.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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...)
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag 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 ;)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Müsste doch auch mit Deeems methode auch funktionieren.
Bild
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag 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.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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 :twisted:.
Bild
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
diGGa
Beiträge: 249
Registriert: 01.04.2005 11:00
Kontaktdaten:

Beitrag 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.
Salami
Beiträge: 41
Registriert: 18.02.2005 09:42
Kontaktdaten:

Beitrag 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
Antworten