Как распаковать инсталлятор
Автоматические распаковщики инсталляторов
Назначение программ для распаковки инсталляторов понятно. В настоящее время инсталляторы сами представляют собой достаточно сложные программы, вносящие изменения в систему или реестр, создающие ярлыки, записывающие файлы в различные папки. Но иногда инсталляторы выполняют нежелательные действия, например, пытаются без ведома пользователя установить различные тулбары или рекламные модули, отправляют разработчику информацию о факте установки, не дают выполнить установку без ввода пароля или серийного номера, и прочие гадости. В этом случае нам требуется извлечь из дистрибутива все содержащиеся в нем файлы, не запуская сам инсталлятор. Кроме файлов из некоторых инсталляторов можно извлечь так называемые скрипты установки, в которых прописывается последовательность действий, из них можно узнать какие ключи реестра меняются, какие файлы и куда записываются и т.п. Также извлеченные из инсталляторов скрипты можно в дальнейшем использовать для создания перепакованных вариантов программ, например, уже включающие в себя файлы с отломанной регистрацией. Еще некоторые особо одаренные аффтары проверяют целостность ранее установленной программы и не дают устанавливать обновления на модифицированные инсталляции, в основном такие милые приколы встречаются на играх. Так что умение бороться с инсталляторами всегда пригодится.
Самым мощным и удобным инструментом для автоматической распаковки инсталляторов является программа 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. Это одиночный 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 — одна из составных частей пакета «Windows SDK Components for Windows Installer Developers» от MicroSoft. Скачать его отдельно можно здесь, так как ее разработка официально уже не поддерживается. Профессиональный инструмент, ориентированный больше на модификацию самого инсталлятора. С помощью Orca можно сделать многие интересные вещи, например, сразу прописать серийник в поля ввода, заменить текст лицензии, изменить дефолтные опции установки и так далее.
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]», так что проблем с идентификацией и выбором нужного инструментария быть не должно.
Файл формата exe: чем открыть, описание, особенности
EXE – распространенный файловый формат еще со времен ОС MS-DOS. Рассмотрим, что это за файлы, их наз.

- Стартовый блок установки.
- Данные для загрузчика файла.
- Ресурсы программы – графические, медиа-элементы в сжатом виде.
- Формы объектов – иконки программ, листы.


ОС Microsoft Windows 7
- 7Zip – утилита для сжатия данных. Нужный файл выбирается при помощи пункта меню архиватора.
- VMware ThinApp – софт для просмотра и переноса программ на другие платформы.
- Microsoft Visual Studio – программа для разработки приложений.
- IcoFX – утилита для просмотра, изменения значков из файловых ресурсов.

Распаковка файлов формата MSI
Извлечение файлов из установочных пакетов Windows Installer — задача не тривиальная, но вполне решаемая даже без использования сторонних утилит. Нужно лишь вооружиться вот этим советом и выполнить ряд несложных операций.
Для начала необходимо открыть командный интерпретатор Windows, причем с администраторскими правами пользователя. Для этого нужно всего ничего: отыскать в меню «Пуск -> Программы -> Стандартные» пункт «Командная строка» и нажатием правой кнопки мыши через контекстное меню запустить консоль от имени администратора. Если используется Windows Vista с активированной функцией контроля учетных записей пользователей (User Accounts Control), то все всплывающие окна следует игнорировать и нажимать клавишу «Продолжить».
Когда появится командная строка, останется только воспользоваться входящим в состав майкрософтовских операционных систем средством Msiexec и выполнить следующую инструкцию:
msiexec /a путь_к_файлу_c_расширением_msi /qb TARGETDIR=путь_к_директории_для_извлечения_данных
Например, команда вида msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test извлечет из установочного пакета testfile.msi все вложенные файлы в директорию C:\Temp\Test.
Если вдруг понадобится более подробная справочная информация по работе со средством Msiexec, её всегда можно получить, введя в консоли команду msiexec /?.