Bearbeiten Sie eine Binärdatei in einem Windows Self Extracting CAB-Archiv.

439
Wossname

Ich habe eine alte "Win32 Cabinet Self-Extractor" -Datei (* .exe-Erweiterung), an der ich eine kleine Änderung vornehmen möchte.

Ich weiß nicht, woher die Originaldatei stammt oder wer sie erstellt hat. Es ist jedoch möglich, die Datei in 7-Zip zu öffnen und zumindest den Inhalt anzuzeigen.

Der Zweck dieses selbstextrahierenden Installationsprogramms besteht darin, eine Firmware auf einem PCIe-Gerät zu installieren.

Eine Datei im Archiv muss geringfügig geändert werden, damit ganz am Anfang eine kurze Binärsequenz (eine Seriennummer, 8 Byte lang) eingefügt wird, die die Länge der Datei um 8 Byte erhöht. Dann möchte ich die Änderungen speichern und das Archiv verlassen, damit die neue Datei die alte ist. Ich ändere keine Dateinamen im Archiv.

Ich verwende Windows 7 und 7-Zip und lehne es ab, die Datei an Ort und Stelle zu ändern (vielleicht nicht überraschend) und es sei "schreibgeschützt" (das Exe ist laut Explorer nicht nur schreibgeschützt).

Gibt es überhaupt eine Möglichkeit, dies zu erreichen?

Leider kann ich die Datei nicht hochladen, da sie proprietäre Unternehmensinformationen enthält.

0

2 Antworten auf die Frage

1
Keltari

Das kannst du nicht tun. Die darin enthaltenen Dateien sind komprimiert und können nicht geändert werden. Andernfalls wäre das Archiv beschädigt. Die Möglichkeit, die Dateien zu dekomprimieren, ist für den gesamten Archivinhalt einzigartig. Sie müssen die Dateien extrahieren, Änderungen vornehmen und dann das Archiv erneut erstellen.

Ich habe seit vielen Jahren keine CAB-Erstellungstools verwendet. Sie könnten dich das tun lassen. Sie führen jedoch einfach die oben genannten Schritte aus.

1
harrymc

Sie müssen zuerst alle Dateien aus dem CAB in einen Ordner extrahieren. Dies kann über 7-Zip oder ein anderes Dienstprogramm oder über das Windows-Dienstprogramm erfolgen expand:

Expand mycab.cab -F:* C:\myfolder 

Sie können dann Ihre Datei innerhalb des Ordners ändern C:\myfolderund erneut komprimieren, indem Sie das Windows-Dienstprogramm makecab verwenden :

makecab /f filename.ddf 

Die Richtliniendatei (.ddf) sieht folgendermaßen aus:

.Set CabinetNameTemplate=mycab.cab .Set SourceDir=C:\myfolder .Set Cabinet=on .Set Compress=on  "file1name.txt" "file2name.txt" 

Weitere Informationen zu DDF-Dateien finden Sie im Artikel MAKECAB Directive File-Syntax .

Das gesamte Microsoft-Benutzerhandbuch finden Sie im Microsoft MakeCAB-Benutzerhandbuch .