У меня есть старый файл "Win32 Cabinet Self-Extractor" (расширение * .exe), в который я хотел бы внести небольшие изменения.

Я не знаю, откуда исходный файл или кто его создал, но можно открыть файл в 7-Zip и хотя бы просмотреть его содержимое.

Цель этого самораспаковывающегося установщика - установить часть прошивки на устройстве PCIe.

Один файл внутри архива необходимо слегка изменить, чтобы в самом начале была вставлена короткая последовательность двоичных файлов (серийный номер длиной 8 байт), увеличивая длину файла на 8 байт. Затем я хочу сохранить изменения и выйти из архива, чтобы новый файл был на месте старого. Я не меняю имена файлов в архиве.

Я использую Windows 7, а 7-Zip не позволяет мне изменять файл на месте (возможно, что неудивительно), говоря, что он «только для чтения» (exe не только для чтения в соответствии с проводником).

Есть ли способ сделать это?

К сожалению, я не могу загрузить файл, потому что он содержит конфиденциальную информацию о компании.

2 ответа2

1

Тебе этого не сделать. Файлы внутри сжаты и не могут быть изменены. Если вы это сделаете, архив будет поврежден. Возможность распаковки файлов уникальна для содержимого архива в целом. Вам нужно извлечь файлы, внести любые изменения, а затем воссоздать архив.

Я не использовал никаких инструментов для создания CAB много лет. Они могут позволить вам сделать это. Тем не менее, они просто делают шаги выше.

1

Вы должны сначала извлечь все файлы из CAB в какую-то папку. Это может быть сделано с помощью 7-Zip или другой утилиты, или с помощью утилиты Windows , expand

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

Затем вы можете изменить свой файл в папке C:\myfolder и повторно сжать его снова с помощью утилиты Windows makecab :

makecab /f filename.ddf

Файл директивы (.ddf) выглядит следующим образом:

.Set CabinetNameTemplate=mycab.cab
.Set SourceDir=C:\myfolder
.Set Cabinet=on
.Set Compress=on

"file1name.txt"
"file2name.txt"

Более подробную информацию о файлах DDF можно найти в статье Синтаксис файла директивы MAKECAB.

Полное руководство пользователя Microsoft можно найти в Руководстве пользователя Microsoft MakeCAB.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .