![]() |
Dateien patchen
Ich befasse mich aktuell etwas mehr mit dem Thema Dateien Patchen.
Robocopy kann das scheinbar, aber ich möchte gerne eine eigene Lösung haben. Nur leider habe ich davon noch absolut keinerlei Ahnung und ich nehme auch stark an, dass Antivirenprogramme solches File I/O-Verhalten nicht sonderlich mögen. Könnt ihr mir weiterhelfen? Ich würde bei 0 anfangen. |
AW: Dateien patchen
Ich bin mir sicher, dass ich bei irgendwem vor kurzem sowas auf der Webseite sah (Lucky, Andy, Andreas oder so), aber find grade nix.
![]() ![]() ![]() ... Aber gibt ja noch mehr zu finden ... ![]() ![]() ![]() ![]() ![]() ![]() Die einfachste Variante * bytweise vergleichen * geänderte Byteabschnitte suchen * eine Liste erstellen (Start, Länge, Datenbytes) ** willst du keine Gruppierungen suchen, dann eben (Position, Byte) * und das irgendwie in einer Datei speichern Erweitern kann man das noch durch eine bessere Erkennungsfunktion. z.B. nicht nur Positionsbezogen überschreiben, sondern auch Bytes/Bytegruppen löschen, einfügen oder verschieben Am Ende eventuell noch komprimieren, um den Patch noch kleiner zu bekommen. |
AW: Dateien patchen
Zitat:
|
AW: Dateien patchen
|
AW: Dateien patchen
Ich kann mir gerade auch nicht vorstellen, wie das bei binären Dateien korrekt funktionieren soll.
Angenommen original gibt es die Bytes A B C und D. Nun kommt zwischen A und B 1 und 2, zwischen C und D 3 und nach D 4. Das kann doch nur schiefgehen. |
AW: Dateien patchen
Zitat:
Nur wäre es nicht schlecht auch die Original-Daten mit im Patch zu speichern, um vorher zu vergleichen, ob die zu patchende Datei auch stimmt, denn sonst kommt definitiv Mist bei raus. Eventuell auch noch einen Datei-Hash von vorher und nachher, um das Ergebnis zu prüfen. Ob binär oder Text ist letztendlich egal ... sind alles nur Bytes. |
AW: Dateien patchen
Falls es helfen könnte kann ich einen "Patch-Generator" hochladen der Dir unter anderem ein Delphi Source dafür erstellt.
Anhand des erstellten Source kannst Du easy nachvollziehen wie ich's mache, auch eine Restore funktion ist enthalten. Limitiert auf Dateien die gleich groß sind und bis max. 2GB Daten-Array (max. 1 GB Unterschiede pro Patch). Es sind noch keine Funktionen integriert die einem Admin-Rechte o.ä. bereitstellen (würde man heutzutage meist brauchen um auf C:\ zuzugreifen) Source vom Generator kann ich mit Absprache von Fukiszo bestimmt auch hochladen falls erwünscht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 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-2025 by Thomas Breitkreuz