Программы для редактирования ресурсов PE-файлов. Автоматические распаковщики инсталляторов Как открыть содержимое exe файла

Resource Hacker это утилита для работы с ресурсами, запакованными в исполняемые файлы. Она имеет в своём составе полный набор инструментов для редактирования ресурсов: компиляции, просмотра, декомпиляции и перекомпиляции ресурсов 32-битных и 64-битных исполняемых файлов Windows (*.exe; *.dll; *.scr; *.mui и так далее). Resource Hacker может сохранять, добавлять, изменять или удалять отдельные ресурсы из этих файлов, а также создавать и компилировать.rс скрипты и редактировать файлы формата.res.

Для обычных пользователей Reshacker будет интересен в первую очередь как удобная программа для извлечения иконок, курсоров, картинок из программ и в некоторых случаях аудио- и видеофайлов. Для программистов, локализаторов и людей, которые хорошо понимают зачем им эта программа, Resource Hacker открывает более широкие возможности, начиная от перевода программ на другие языки до изменения интерфейса и других функций. В программе есть редактор диалогов и возможность добавления новых элементов контроля из классов Microsoft Сommon Сontrol. Утилита предоставляет возможность работы и компиляции через командную строку с использованием.rc скриптов, которые по стилю похожи на язык «С» с дополнительными параметрами и директивами (например #DEFINE, #UNDEF, #IF, #ELIF, #ELSE и так далее).

Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов EXE".

Другая проблема, с которой наши пользователи также встречаются довольно часто - файл EXE поврежден. Такая ситуация может возникнуть в массе случаев. Например: файл был скачан не польностью в результате ошибки сервера, файл был поврежден изначально и пр. Для устранения данной проблемы воспользуйтесь одной из рекомендаций:

  • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:EXE" . Просто замените слово "файл" на нужное вам название;
  • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

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

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

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



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

InnoSetup.And.NSIS.Unpacker.Shell.1.4.zip (660,484 bytes)




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

InnoCry.1.2.7.zip (238,909 bytes)




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

InnoExtractor.4.8.0.156.zip (1,693,514 bytes)




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

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

E_WISE.2002.03.29.zip (102,968 bytes)


E_WISE.2002.07.01.zip (24,686 bytes)




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

HWUN.v0.50a.zip (22,912 bytes)


HWUN.v0.50b.zip (40,509 bytes)


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

Setup.Factory.Unpacker.zip (27,161 bytes)




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

InstallShield.Unpacker.0.99.zip (57,056 bytes)


CUP386 3.4

Известный хакерский распаковщик DOS COM/EXE-упакованных или защищенных файлов by Sage/CyberWare (UCF). Позволяет распаковывать программы сжатые/зашифрованные даже неизвестными или новыми утилитами. Работает через командную строку и имеет множество параметров (читай возможностей). В программе имеется несколько режимов взлома: пошаговый real-mode, пошаговый V86 и real-mode i80386-эмуляция. В зависимости от режима, CUP386 использует различные методы отладки, обходит антидебаговый код и т.п. Кстати в программе есть и встроенный визуальный дебаггер наподобие Turbo Debugger для "ручного" взлома. Лично мне оригинальной показалась опция "Я все еще жив", которая заставляет перемигиваться LED-индикаторы на клавиатуре во время распаковки, показывая, что программа пока не зависла.

ftp://ftp.elf.stuba.sk/pub/pc/pack/ucfcup34.zip (60 Кб)

DeShrink 1.6

Самая продвинутая Windows-утилита, предназначенная для "распаковки" EXE/DLL файлов, сжатых популярным EXE-пакером Shrinker (вплоть до версии 3.4). DeShrink имеет графический интерфейс, позволяющий легко указать путь и имена входного/выходного файлов, просмотреть EXE-заголовок и даже снять шифрование с отдельных секций методом простого перебора.

Программу можно скачать с сайта ftp://ftp.elf.stuba.sk/pub/pc/pack/dshrnk16.zip (190 Кб)

ExeScan 3.21

Эта DOS-утилита by STILLSON предназначена для определения паковщиков и навесных защит (довольно много), которыми были защищены EXE или COM файлы. Кроме того ExeScan позволяет распознавать наиболее распространенные компиляторы.

Программа (вернее два ее модуля) может работать в нескольких режимах: в простом ("тупое" определение), в deepscan (пытается обнаружить многослойную защиту/сжатие, например когда EXE"шник сжат PKLite -ом и защищен программой CrackStop) и в режиме generic detection (перехват Int 21h, выполнение исследуемого файла и попытка определить код).

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

ftp://ftp.elf.stuba.sk/pub/pc/pack/es321.zip (70 Кб)

File Analyzer 1.6.x

File Analyzer - эта программа способная определить чем скомпилирован файл, чем упакован, закодирован, иммунизирован и т.д. File Analyzer также умеет показывать внутренности архивов и SFX архивов (RAR , ARJ , ZIP, LZH, LHA , ICE, ZOO , SWG, DWC, SQZ , HYP, ACE , CAB, PAC, , Stirling), выдавать информацию о разных графических файлах (GIF /JPG /PCX/BMP/ICO/IFF) - разрешение, количество цветов и т.д. Понимает следующие EXE форматы: MZ/NE/LE/LX/LE/W3/P2/P3/DL/MP.
File Analyzer способен показывать данные таблиц объектов NE/LE/LX/PE. Имеется поддержка внешних плагинов, встроенный компилятор своей базы данных, созданный для увеличения производительности. В БД можно использовать макро-команды типа "J1J1" - это означает ассемблерную команду JMP/JMPS/CALL etc, т.е. есть возможность анализа файлов с различными переходами...

Программа занимает немного места на диске и поставляется с хорошей документацией на русском и английском языках.

Программу можно скачать с сайта http://www.world.lv/vnet (135 Кб)

FileInfo 2.49

Свежая утилита от M.Hering, предназначенная для определения паковщиков и защит (в том числе самых новых), которыми были "обработаны" исполнимые файлы. Кроме того FileInfo позволяет распознавать "работу" наиболее распространенных компиляторов и форматы SFX-EXE-архивов.

Программа может работать в режиме показа краткой информации о файлах в директории(ях) или в режиме показа детальной информации о конкретном файле. Имеются встроенный HEX/TXT вьюер (с возможностью быстрого перехода по адресам, поиска, фильтрации), редактор MZ/PE заголовков и контрольных сумм, оригинальный графический байт-анализатор.

Поддерживает длинные имена файлов под Win9x.

В последней версии добавлена и улучшена поддержка определения двух десятков форматов защит/пакеров, в том числе UPX , tELock , уменьшено потребление памяти, внесены прочие улучшения...

Программу можно скачать с сайта http://www.programmerstools.org/files/utilities/fi.zip (155 Кб)

NED 2.31 (New Executable files Deshrinker)

Утилита командной строки by Snajder, позволяющая распаковывать исполнимые NE-файлы (NE-Visual Basic 3.0), сжатые утилитой Shrinker версий 3.xx.

Программу можно скачать с сайта http://www.programmerstools.com/files/unpackers/ned.zip (8 Кб)

Petite 2.x Enlarger 1.3

Простенькая Windows-утилита by r!sc, позволяющая распаковывать EXE/DLL файлы, сжатые пакером Petite версий 2.1/2.2.

В новой версии переписан обработчик командной строки (иногда не открывались файлы под NT).

PE-UnCompact 1.5

Небольшая Windows-утилита by tNO позволяет распаковывать EXE, DLL, SCR и OCX (?) файлы, сжатые популярным пакером PECompact версий 1.24-1.30. Расжатие не производится если выбранный файл не является PECompact-сжатым. При распаковке программа восстанавливает расширение файла, таблицы импорта, секции, "выравнивает" код.

В новой версии добавлена поддержка PECompact 1.30, внесены внутренние изменения.

Программу можно скачать с сайта http://pleiku.vietmedia.com/protools/files/unpackers/tnopeunc.zip (15 Кб)

PMWUnLite 1.30

Небольшая утилита, предназначенная для распаковки исполнимых файлов защищенного режима (типа DOS/4GW), сжатых утилитой PMWLite из набора PMODE/W.

Программу можно скачать с сайта http://www.suddendischarge.com/cgi-bin/antileech.cgi?pmwun130.zip (38 Кб)

TEU 1.8x (The Executables" Unpacker)

Универсальный распаковщик запакованных или защищенных исполнимых файлов by JVP. TEU распознает программы полученные в наиболее распространенных компиляторах и позволяет распаковывать файлы, если они были защищены/сжаты неизвестными или новыми утилитами. Кроме этих средств в TEU есть несколько оригинальных, даже помеченных значком TM режимов взлома: DirectY и PassiveX. Однако из-за отсутствия документации ничего определенного сказать о них не могу.

Утилита работает из командной строки и имеет n-ное количество параметров, которые как обычно не обязательно использовать. Хочу также отметить, что TEU может работать совместно с утилитой .

Программа поставляется в двух версиях: на английском (буква "e" в конце версии) и немецком языках ("d").

Программу можно скачать с сайта http://members.xoom.com/jvp/ (40 Кб)

TRON 1.30

Еще один универсальный распаковщик запакованных или защищенных исполнимых файлов by Smilesoft Company. Знает около двух десятков программ (от ComPack до Protect EXE/COM и WWPack), не считая их множества подверсий. Утилита традиционно может попытаться распаковывать файлы, сжатые/защищенные неизвестными или новыми программами. Правда для этого надо сперва зарегистрироваться и заплатить за программу 25$... При взломе TRON может опционально работать в специальном режиме "отклонения" прерываний, а также в защищенном режиме.

Программа занимает мало места на диске и очень неплохо документирована; имеется много информации по пакерам/протекторам.

Программу можно скачать с сайта ftp://ftp.elf.stuba.sk/pub/pc/pack/tron130.zip (40 Кб)

UnASPack 1.0.9.1

Эта небольшая Windows-утилита by BiWeiGuo позволяет распаковывать EXE и DLL файлы, сжатые популярным пакером ASPack до версии 2.1. Расжатие не будет производиться если выбранный файл не является ASPack"ованным (или использованная для сжатия версия ASPack неизвестна утилите).

При распаковке всегда создается резервная копия файла.

Программу можно скачать с сайта http://pleiku.vietmedia.com/protoools/files/unpackers/2unaspack.zip (73 Кб)

UNP 4.12c

Некогда очень популярный, правда немного устаревший (1995 год) универсальный распаковщик запакованных или защищенных DOS исполнимых файлов by Ben Castricum. Умеет определять и снимать множество защит и "упаковок" (знает около 50 наименований программ, не считая их множества подверсий). Кроме того, UNP может пытаться распаковывать файлы, сжатые/защищенные неизвестными или новыми утилитами (правда, эта функция не такая мощная, как в других специализированных программах, описанных на этой странице).

UNP позволяет конвертировать некоторые EXE-файлы в COM и наоборот, вставлять файлы в заголовки программ, "выдирать" и "прикреплять" оверлеи, производить поиск сжатых файлов в директории, оптимизировать EXE"шники для последующего сжатия, "выравнивать" EXE-заголовки для более быстрого запуска, удалять в них же ненужную информацию, например комментарии линкеров и т.п.

Программа хорошо документирована, занимает традиционно немного места. Как говорится "The must have program"...

Программу можно скачать с сайта ftp://ftp.elf.stuba.sk/pub/pc/pack/unp412b.zip (без док)
Полную версию можно скачать с сайта ftp://ftp.elf.stuba.sk/pub/pc/pack/unp411.zip (40 Кб)

Un-Pack (File Analizer & Unpacker) 2.2

Новая мощная DOS-утилита by Snow Panther, предназначенная для идентификации и при возможности снятия в автоматическом режиме различных навесных защит и COM/EXE-"запаковок". Программа расшифровывает большинство из тех файлов, что не "берет" и X-TRACT. Иногда после некоторых изменений, сделанных рассматриваемой утилитой, распаковка может быть произведена с помощью , о чем Un-Pack вас уведомит.

Имеются функции установки даты/времени файлов, их усечения, анализа PE файлов (импорт./экспортируемые функции), дампер (универсальный распаковщик) для COM файлов, generic детектор неизвестных типов защит/сжатия, EXE->COM конвертор, обработчик relocations, дизассемблер entry point"a, эвристический анализатор...

Программа поддерживает длинные имена файлов (LFN), может работать совместно с анпакером . Она также опознает всевозможные "левые" форматы файлов по расширениям и использует "движки" утилит , , IDArc , что сделало возможным распознавание около 170 типов архивных файлов.

В новой версии добавлены сигнатуры для MZ, NE, PE файлов, доработана конвертация EXE->COM, обновлен движок IDArc , реализована поддержка распаковки файлов модифицированных tElock, ASProtect, ASPack , GFX2EXE, PE-Nightmare и другими; исправлено несколько багов...

Программу можно скачать с сайта http://mud.sz.jsinfo.net/per/aaron/files/file-analyzers/unpack22.zip (800 Кб)

UnPECompact 1.31

Небольшая медленноватая Windows-утилита by Yoda, позволяющая распаковывать EXE файлы, сжатые популярным пакером PECompact практически любых версий (0.9-1.43). Распаковка не производится если выбранный файл не является PECompact-сжатым. Имеется возможность управления из командной строки.

Утилита обычно не работает под Win2K.

В новой версии добавлена поддержка дополнительных версий PECompact , появилась опция принудительного полного восстановления таблицы импорта.

http://y0da.cjb.net (70 Кб)

UnPEPack 1.0

Мелкая Windows-утилита by M.o.D., позволяющая распаковывать исполнимые файлы, сжатые пакером PEPack . Не работает под Win2K.

Программу с исходниками можно скачать с сайта http://pleiku.vietmedia.com/protoools/files/unpackers/unpepack.zip (135 Кб)

UnShrinker 1.0

Данная утилита командной строки предназначена для тех людей, которым вдруг понадобилось получить файл запакованный

Редакторы ресурсов - это специализированные программы для просмотра, создания и изменения ресурсов PE-файлов. С их помощью можно, например, разблокировать пункты меню в шароварной программе, поменять иконку приложения, изменить внешний вид диалоговых окон, выполнить перевод интерфейса и т.п. У каждого специалиста по реверсу есть свой любимый редактор ресурсов, поэтому нельзя сказать, что какой-то из них лучше или хуже. Очень часто для решения разных задач требуются функции какого-нибудь конкретного инструмента, и в этой статье я попробую вкратце рассказать о самых популярных редакторах ресурсов исполняемых файлов.

Restorator - пожалуй, самый известный редактор ресурсов исполняемых файлов в формате exe, dll, ocx, scr, res и других. Позволяет создавать и редактировать стандартные файлы ресурсов.RES, извлекать и добавлять в файл свои ресурсы. Но главное преимущество Restorator в том, что результаты ваших трудов можно несколькими кликами мышки оформить в виде небольшого патча. Таким способом, например, создано огромное количество русификаторов для различных программ. Из замеченных недостатков первый косяк - это необходимость заплатить за использование программы (в прилагаемых вариантах эта проблема уже решена), а второй - дурацкая привычка гадить строчкой "Bome" в служебных полях иконок отредактированного файла.



eXeScope - мой любимый редактор. Очень шустро работает с ресурсами, можно быстро посмотреть диалоговые окна, вытащить или поменять иконки и картинки, но особенно меня радует работа с ресурсами файлов, написанных на Delphi. Иногда возникают проблемы с ресурсами распакованных файлов, в этом случае обычно помогает пересборка секции ресурсов файла перед отправкой его в редактор. eXeScope тоже платный, но эта проблема тоже давно решена. Если предпочитаете английский интерфейс, то удалите файл eXeScope.RUS из каталога программы.



PE Explorer предназначен для просмотра и редактирования внутренней структуры исполняемых файлов, таких как EXE, DLL, ActiveX и другие. В состав PE Explorer входят редактор ресурсов, редактор секций, дизассемблер, сканер зависимостей, анализатор цифровых подписей и другие незаменимые в работе исследователей программ инструменты. С помощью PE Explorer очень просто анализировать, редактировать или оптимизировать проблемные файлы, переводить интерфейсы на другие языки. Авторы этого поделия те же, что и предыдущего, со всеми вытекающими последствиями. Но заграница снова нам поможет .



Resource Builder - еще одна коммерческая разработка в арсенале редакторов ресурсов. Используя Resource Builder, редактирование ресурсов становится простейшей задачей. В этом редакторе представлен полный набор очень удобных и понятных инструментов для всех типов ресурсов. Встроенный линковщик обновит ресурсы прямо в исполняемых модулях без перекомпиляции, а создание библиотек ресурсов (Resource Only DLLs), используемых для локализации приложений, займет всего пару щелчков мыши. Взять бесплатно этот полезный инструмент можно на сторонних ресурсах: и два .



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

ResEdit.1.5.9.zip (527,389 bytes)




RCE - редактор ресурсов для визуального создания и редактирования RC-файлов, может быть использован совместно с IDE или применяться с другими редакторами ресурсов в качестве вспомогательного инструмента. Напрямую с исполняемыми файлами не работает, поэтому особой пользы от RCE я не вижу.

Статьи по теме