Hallo zusammen,
ich beschäftige mich zur Zeit mit verschiedenen Updatemöglichkeiten für meine Programme. Zum Hintergrund, ich habe bereits ein Updatesystem entwickelt, welches auch alle meine Anforderungen erfüllt. Dieses ist allerdings für die endgültige Verteilung an den Benutzer entwickelt worden. Heißt, ich kompilere die neuen Jar(s), packe evtl. neue libs dazu und starte mein Updatemechanismus. Wunderbar. Heißt aber auch, es werden immer alle veränderten und neuen Dateien komplett über das Netz geschickt.
Nun gibt es aber auch verschiedene Tester bzw. Anwender, die Fehler finden sollen oder Verbesserungsvorschläge machen. Diese sollen sich wenn möglich nicht immer das komplette Update holen, sondern nur die Änderungen. Daraufhin habe ich mir verschiedene Patch Generatoren angeschaut, welche auch eigentlich ihren Dienst klasse tun.
Kommen wir zu meiner Frage/Problem/Disskussion
Ich habe z.B. eine ältere JAR Datei die aktualisiert werden soll. Nun ändere ich den src an einer Stelle und kompiliere neu, erstelle eine neue JAR und lass den Patch Generator drauf los. Problem an der Sache jedes Byte der JAR wurde geändert und somit kann ich auch gleich die ganze JAR Datei verschicken/anbieten. Selbes passiert auch bei C++ Programmen. Neu kompiliert, alle Bytes anders.
Nutze ich z.B. OllyDbg um eine Datei zu patchen funktioniert das Ganze natürlich wunderbar. Größe der Datei bleibt gleich, es werden nur die bytes geändert die auch wirklich verändert wurden usw...
Meine Frage, größere Programme wird kein Mensch im Debugger in Assembler umschreiben/verändern
Wie wird so ein Patch ( nur Änderungen übernehmen ) sonst erstellt, wenn das neue Kompilat doch ganz anders ist? Wie würdet Ihr das machen oder was wird bei euch für ein Patcher ( egal ob für Java oder C/C++ ) eingesetzt um so wenig wie möglich über das Netz schicken zu müssen?
Mfg
ich beschäftige mich zur Zeit mit verschiedenen Updatemöglichkeiten für meine Programme. Zum Hintergrund, ich habe bereits ein Updatesystem entwickelt, welches auch alle meine Anforderungen erfüllt. Dieses ist allerdings für die endgültige Verteilung an den Benutzer entwickelt worden. Heißt, ich kompilere die neuen Jar(s), packe evtl. neue libs dazu und starte mein Updatemechanismus. Wunderbar. Heißt aber auch, es werden immer alle veränderten und neuen Dateien komplett über das Netz geschickt.
Nun gibt es aber auch verschiedene Tester bzw. Anwender, die Fehler finden sollen oder Verbesserungsvorschläge machen. Diese sollen sich wenn möglich nicht immer das komplette Update holen, sondern nur die Änderungen. Daraufhin habe ich mir verschiedene Patch Generatoren angeschaut, welche auch eigentlich ihren Dienst klasse tun.
Kommen wir zu meiner Frage/Problem/Disskussion
Ich habe z.B. eine ältere JAR Datei die aktualisiert werden soll. Nun ändere ich den src an einer Stelle und kompiliere neu, erstelle eine neue JAR und lass den Patch Generator drauf los. Problem an der Sache jedes Byte der JAR wurde geändert und somit kann ich auch gleich die ganze JAR Datei verschicken/anbieten. Selbes passiert auch bei C++ Programmen. Neu kompiliert, alle Bytes anders.
Nutze ich z.B. OllyDbg um eine Datei zu patchen funktioniert das Ganze natürlich wunderbar. Größe der Datei bleibt gleich, es werden nur die bytes geändert die auch wirklich verändert wurden usw...
Meine Frage, größere Programme wird kein Mensch im Debugger in Assembler umschreiben/verändern
Mfg