Как разобрать cab файл

Обновлено: 06.07.2024

Автоматические распаковщики инсталляторов

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

Самым мощным и удобным инструментом для автоматической распаковки инсталляторов является программа Universal Extractor. Она представляет собой оболочку для других распаковщиков, всего поддерживается несколько десятков различных форматов, в том числе таких популярных, как распаковка Inno Setup, InstallShield, Wise Installer и других. Поддерживается русский язык, интеграция в контекстное меню Проводника Windows, продвинутые пользователи могут сохранить и посмотреть лог работы внешних модулей распаковки. На момент написания статьи хостинг с дистрибутивами и исходниками Universal Extractor недоступен, поэтому выложу Universal Extractor здесь.

Universal Extractor 1.6.1

Многие инсталляторы представляют собой обычный архивный файл, к которому дописан модуль для его распаковки, то есть SFX-архив (Self-extracting архив). Поскольку распространенных алгоритмов компрессии не так много, в некоторых случаях для распаковки инсталляторов можно воспользоваться обычными архиваторами, например, WinRAR или бесплатным 7zip.

Теперь переходим к специализированным распаковщиками, ориентированным на конкретный тип инсталляторов. Наиболее мощный и популярный инструмент для создания инсталляторов - бесплатный Inno Setup, он обладает скриптовым языком, позволяющим делать практически неограниченные по опциям дистрибутивы.

innounp, распаковщик инсталляторов Inno Setup версий от 2.0.8 до 5.3.11. Inno Setup Unpacker - консольная утилита, поэтому для удобства работы сделано несколько графических оболочек, например, IS Unpacker Explorer (русскую версию можно найти на сайте MSILab) или InnoSetup And NSIS Unpacker Shell (требует 7zip и innounp).

InnoSetup And NSIS Unpacker Shell 1.4

Вспомогательная утилита InnoCry предназначена для обхода паролей на инсталляторах, созданных Inno Setup. Запускаете сперва инсталлятор, в котором требуется ввод пароля, параллельно запускаете InnoCry. Затем InnoCry несколькими способами пытается пропатчить в памяти исполняемый код инсталлятора, чтобы он не требовал ввода пароля. В последней версии также появилась опция активации заблокированных кнопок.

InnoCry 1.2.7

InnoExtractor сделан на базе архиватора 7zip. Позволяет просматривать и извлекать содержимое инсталляторов Inno Setup. Большой плюс в том, что InnoExtractor постоянно совершенствуется и поддерживает как старые, так и новейшие версии этого инсталлятора.

InnoExtractor 4.8.0.156

Для распаковки инсталляторов, созданных при помощи Nullsoft Scriptable Install System или сокращенно NSIS, удобнее всего пользоваться бесплатным архиватором 7zip. Он без труда открывает такие инсталляторы для просмотра и позволяет извлекать из них нужные файлы.

E_WISE 2002.03.29 - консольная утилита для извлечения файлов из WISE-инсталляторов. Поддерживаются практически все версии Wise-инсталляторов, в комплекте есть версии распаковщика для DOS, Windows и Linux, а также документация на английском и немецком языках.

E_WISE 2002.03.29

E_WISE 2002.07.01 (Update)

HWUN (Heuristic Wise UNpacker) также предназначен для распаковки инсталляторов WISE, но в отличие от предыдущей программы использует эвристические алгоритмы для поиска необходимых сигнатур и данных, так что есть большая вероятность, что он будет работать и с более новыми версиями инсталляторов.

Setup Factory Unpacker - консольный распаковщик инсталляторов Setup Factory версии 5 и 6. Как признается сам автор, имеют место быть глюки и баги, так что пригодится больше для коллекции.

Setup Factory Unpacker


Скриншот программы InstallShield (by one exe-file) Unpacker

InstallShield (by one exe-file) Unpacker - автоматический консольный распаковщик двух из трех известных типов инсталляторов, созданных программой InstallShield. Это одиночный cab-файл, упакованный в msi-контейнер, а также набор из установочных файлов и cab-архива, также помещенный внутрь msi-файла (Microsoft Installer). Третий тип, использующий шифрование, этим распаковщиком не поддерживается.

InstallShield (by one exe-file) Unpacker 0.99

Less MSIerables также используется для извлечения файлов из MSI-контейнеров, но имеет графический интерфейс и может встраиваться в Проводник Windows. Кроме извлечения файлов показывает всю дополнительную информацию, содержащуюся в инсталляторе.

Less MSIerables 1.0.8

Orca MSI Editor 3.1.4000.1830

JSWare MSI Unpacker - одна из новых разработок. Позволяет просматривать и извлекать файлы, а также смотреть какие настройки инсталлятор вносит в реестр при установке. Всячески рекомендую к использованию.

JSWare MSI Unpacker

Остался последний вопрос: а как определить, с помощью какой программы был собран тот или иной инсталлятор? Ответить на этот вопрос помогут программы для анализа исполняемых файлов. Например, PEiD четко определяет инсталляторы как "Inno Installer 5.1.2 [Overlay]" или "Nullsoft PiMP Stub [Nullsoft PiMP SFX]", так что проблем с идентификацией и выбором нужного инструментария быть не должно.

Windows может разархивировать или извлечь содержимое сжатого файла, так как он изначально совместим с CAB-файлами. Кроме того, ОС может создавать, извлекать или перестраивать CAB-файлы. Это означает, что для этой задачи вам не требуется никакого дополнительного стороннего программного обеспечения. Все CAB-файлы можно разархивировать с помощью основных инструментов командной строки Windows.

Существует три встроенных средства командной строки Windows для работы с CAB-файлами:

  1. expand.exe
  2. Makecab.exe
  3. extrac32.exe

expand.exe

Чтобы увидеть параметр командной строки, доступный для expand.exe, откройте окно командной строки, введите следующее и нажмите Enter:


Makecab.exe

Чтобы увидеть параметр командной строки, доступный для makecab.exe, откройте окно командной строки, введите следующее и нажмите Enter:


extrac32

Чтобы увидеть параметр командной строки, доступный для extrac32, откройте окно командной строки, введите следующее и нажмите Enter:


Извлечь CAB-файл с помощью командной строки

Чтобы извлечь содержимое файлов Cab, вы можете использовать любой из вышеперечисленных инструментов. Давайте возьмем пример инструмента expand.exe .

Чтобы извлечь содержимое CAB-файла, сначала измените каталог, чтобы указать местоположение источника с помощью команды CD, а затем выполните следующую команду:


По завершении инструмент отобразит полный список извлеченных файлов.

Закройте окна командной строки и перейдите в Windows Explorer. Там вам будет виден полный список полностью извлеченной файловой структуры.

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


Файл с расширением .CAB является файлом Windows (раньше они называли алмазные файлы). Это сжатые файлы, в которых хранятся данные, относящиеся к различным установкам Windows, которые могут включать драйверы устройств или системные айлы.

Функция Pack and Go программы Microsoft Publisher позволяет создавать CAB-файлы с расширением PUZ. В нем есть всё, что включено в документ, в том же формате архива, что и в CAB, поэтому их можно рассматривать как файлы CAB.

Программа установки InstallShield также создает файлы с расширением CAB, но они не связаны с форматом файлов Windows Cabinet.

Некоторые устройства могут использовать расширение файла CAB для хранения файлов прошивки.

Как открыть файлы CAB

Открытие файла Windows Cabinet в Windows автоматически запускает файл как архив, чтобы вы могли видеть, что находится внутри. Windows, по существу, рассматривает его как папку, и делает это автоматически; Вам не нужно загружать какой-либо кодек CAB для Windows.

Отображение файлов формата CAB в системе Windows 10

Однако, вы также можете открывать или извлекать CAB-файлы с помощью инструмента распаковки файлов. Пройдя по этому маршруту, вы сможете открывать CAB-файлы в других операционных системах, таких как macOS или Linux.

Несколько бесплатных файловых экстракторов, которые работают с CAB-файлами, включают 7-Zip, PeaZip, WinZip, IZArc, Unarchiver и cabextract.

Если у вас есть файл PUZ, полученный от Microsoft Publisher, вы можете открыть его с помощью любого из только что упомянутых экстракторов файлов. Если эти программы не распознают расширение файла PUZ, либо сначала откройте программное обеспечение для распаковки файла, а затем найдите файл PUZ или измените расширение файла .PUZ на .CAB вручную и повторите попытку.

Файлы InstallShield CAB не совпадают с файлами Windows Cabinet, но их можно извлечь с помощью unshield.

Установка CAB-файлов в Windows

Если у вас есть автономный загруженный файл обновления Windows в формате CAB, вы можете установить его через командную строку с повышенными правами. Введите эту команду, заменив путь к CAB-файлу путем к тому, который вы используете:

Не нажимайте Enter , пока не введёте всю команду. Независимо от любых разрывов в команде, которые вы видите выше, вводите только пробелы, пока не дойдете до самого конца.

Вы не должны использовать команду DISM для установки языковых пакетов, а вместо этого использовать утилиту lpksetup.exe, например:

  1. Откройте диалоговое окно «Выполнить» с помощью сочетания клавиш Win + R .
  2. Введите lpksetup (первая буква – строчная буква L).
  3. Выберите Установить языки интерфейса.

Образец перехода к установке языка интерфейса

Чтобы переключиться на новый язык в Windows 10, откройте «Параметры», затем перейдите к «Время и язык» и выберите вкладку «Язык» слева. В старых версиях Windows – это Панель управленияЧасы, Язык и РегионЯзык. Наконец, выберите язык, который вы хотите использовать, и следуйте указаниям, если таковые имеются.

Как конвертировать файл CAB

Мы не знаем ни одной программы конвертации файлов, которая могла бы сделать чистое преобразование CAB в MSI. Тем не менее, вы можете получить помощь от других пользователей InstallShield в сообществе Flexera.

Файлы WSP – это файлы пакета решения SharePoint, используемые Microsoft SharePoint и сжатые в формате CAB. Вы можете переименовать файл WSP в CAB и открыть его, как файл Windows Cabinet.

Вы можете конвертировать CAB в EXE с помощью IExpress Wizard, инструмента, включенного в Windows. Откройте диалоговое окно «Выполнить» с помощью сочетания клавиш Win + R , а затем введите iexpress.

Если вам нужно преобразовать CAB в KDZ, чтобы получить файл прошивки Android в нужном формате, следуйте инструкциям на BOYCRACKED.

Больше информации о формате CAB

Windows может сжать CAB-файл с помощью DEFLATE (как и большинство ZIP-файлов), Quantum или LZX, поскольку формат поддерживает все три алгоритма сжатия.

Каждый CAB-архив сжимается целиком, а не каждый файл в отдельности. В CAB-архиве может храниться до 65535 CAB-папок, и эти папки могут содержать такое же количество файлов.

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

CAB-файлы распознаются по первым четырьмя байтам. Если вы откроете CAB-файл как текстовый файл в текстовом редакторе, вы увидите «MSCF» в качестве первых четырех букв.

Вы можете создать CAB-файл с помощью makecab.exe, который входит в состав Windows. Выполнение такой команды в командной строке приведет к сжатию файла в CAB-архив:

Вы можете прочитать больше о формате файлов Windows Cabinet на страницах Microsoft Dev Center и Microsoft Cabinet Format.

Можно ли удалять CAB файлы

Может показаться соблазнительным удаление CAB-файлов с вашего компьютера, когда вы видите десятки или даже сотни из них в одной папке. Прежде чем принять это решение, важно понять, где находятся CAB-файлы и важны они или нет.

Однако, CAB-файлы, связанные с iTunes, DirectX или какой-либо другой сторонней программой, могут быть безопасно удалены без ущерба для системы, но без них программа может перестать работать или отказаться выполнять определенные задачи. Если программа перестает работать после удаления файлов CAB, просто восстановите или переустановите их, но есть вероятность, что файлы CAB такого типа являются только временными.

Из-за природы CAB-файлов их обычно можно увидеть в установочных файлах программы. Например, установщик Microsoft Office содержит несколько CAB-файлов, некоторые из них довольно большие. Если они будут удалены, это повредит установщик, и вы не сможете использовать эти установочные файлы для установки MS Office.

Просмотр в представлении "Рядом"

Показать рядом статью на английском языке и ее перевод на русский язык

Переведено с помощью машинного перевода

ПРЕДУПРЕЖДЕНИЕ: СТАТЬЯ ПЕРЕВЕДЕНА С ПОМОЩЬЮ МАШИННОГО ПЕРЕВОДА

Retired KB Article

Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена

На этой странице

Аннотация

При использовании мастера установки приложения Visual Basic 5.0 для создания Настройка загрузки Интернета компонентов для элемента управления ActiveX или ActiveX документ, может потребоваться изменить CAB-файл, созданный программой установки Мастер.

В данной статье описывается, как изменить файлы CAB-файла, в Visual Basic Мастер создает и специально показано, как извлечь файлы из CAB-файла и перестройка CAB-файла.

Дополнительная информация

Для распространения компонентов ActiveX, можно выбрать для построения локальной сети Загрузить установки компонентов с помощью мастера установки 5 приложения Visual Basic.

Мастер создает два файла ключа: в HTM-файле (язык гипертекстовой разметки документов Файл, также известный как HTML-файл) и CAB-файл (файл CAB-файл, сжатый файл). HTM-файл содержит сведения, необходимые для извлечения и Установка информации, хранящейся в CAB-файл. CAB-файл содержит Фактические компоненты OCX, EXE или DLL.

При открытии файла HTM с Internet Explorer (IE) выполняет IE <object> тег в HTML-код. Проще говоря, тег <object> Internet Explorer о том, как установить компонент ActiveX на клиентский компьютер. </object></object>

Ниже приведен пример использования тега <object> ; </object>


В теге <object> выше Internet Explorer использует идентификатор и идентификатор CLSID для просмотра Если указанный элемент управления уже установлен на клиентском компьютере. Если он еще не установлена или если оно устарело IE использует базы кода Аргумент, чтобы найти файл ActiveX.CAB, чтобы установить элемент управления ActiveX или документ. </object>

Содержание.CAB-файла

CAB-файл содержит сжатые файлы, которые имеют решающее значение для установки на Компоненты ActiveX. Мастер установки устанавливает несжатая копия каждого файл, помещенный в CAB-файл в каталог с именем «Support» что можно найти в той же папке файлы CAB и HTM.

  • .DDF: DDF-файла называется файл директив Diamond, текстовый файл которое можно открыть в блокноте или любом текстовом редакторе. Содержит DDF сведения, необходимые для сжатия файлов в шкафу файл; сам файл DDF не помещаются в CAB-файл. Примечание: это файл не должен быть изменен, если не вызвано необходимостью.
  • Файл компонента (.EXE.Библиотека DLL или.OCX): тип компонента ActiveX, Создание определяет расширение файла, содержащиеся здесь. Все Элементы управления ActiveX обладают.Расширение OCX. Другие компоненты ActiveX либо.Исполняемые файлы или файлы библиотек .dll. Этот файл находится на ActiveX компонент, установлен.
  • .INF: Это информационный файл, содержащий сведения о том, что других файлов вашего ActiveX компонент зависит (зависимости файлов) где можно получить копии этих файлов и установки этих файлов.

Извлечение содержимого файла CAB

Чтобы извлечь в CAB-файл, необходимо использовать извлечения Служебная программа. Extract.exe можно найти в папке Windows или на Windows 95, Windows 98, Windows NT или Windows 2000 установочный компакт-диск.

Extract.exe — это служебная программа командной строки; поэтому он используется с MS-DOS Командная строка. Чтобы извлечь файлы в CAB-файл, убедитесь, что Средство extract.exe в путь MS-DOS или копирования программы извлечения файлов папке CAB-файл.

Из командной строки MS-DOS можно выполнить следующую команду, чтобы Извлеките все файлы в CAB-файл в текущем каталоге:

где «ActiveX.CAB» — это имя CAB-файл.

Для получения дополнительных сведений об использовании служебной программы Extract.Exe можно ввести в командной строке MS-DOS следующую команду:

Дополнительные сведения о Extract.Exe просмотра ActiveX SDK документация, как описано в разделе "ссылки" данной статьи.

Перестроение CAB-файла

После извлечения файлов в CAB-файла можно вносить изменения и затем вручную перестроить CAB-файла.

Для повторного создания CAB-файла, следует использовать программы MakeCab.Exe, поставляемый в комплекте с Visual Basic. Утилита MakeCab по умолчанию устанавливается в следующих каталог:

Его также можно найти на Visual Basic 5.0 установочный компакт-диск в следующий каталог:

Чтобы перестроить CAB-файл, поместить любые измененные файлы и исходный.DDF файл в одну папку. Кроме того убедитесь, что программы MakeCab.Exe в путь MS-DOS или скопировать его в той же папке.DDF.

В командной строке введите следующую команду:

где «ActiveX.DDF» — это имя вашего.DDF-файла.

Для получения дополнительных сведений о программе MakeCab может использовать параметр «/?» или обратитесь к документации ActiveX SDK, как описано в разделе ссылки этой статьи.

Читайте также: