unc0r3x
19.02.2010, 23:31
Есть такая интересная программка - ResHacker. С помощью неё можно редактировать файлы Win32 (exe или dll например).
Это небольшой мануал по её использованию.
Ресурсы - данные, размещённые в отдельной секции .rsrc в исполняемых файлах и библиотеках формата Portable Executable.
Их удобно использовать потому, что они не занимают лишних файлов в папке с программой, да и с ресурсами очень легко работать с помощью сторонних программ, как ResHacker.
Скачать всегда можно здесь, на сайте автора:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Virustotal.com ([Ссылки могут видеть только зарегистрированные и активированные пользователи] c754f3ac96a795-1266677950) - отчёт.
Окно программы:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Справа - "папки ресурсов", то есть то, что наша программка смогла найти в файле (напоминаю, ехе или dll!). В данном случае это Icon, Icon Group и Version Info - последняя присутствует в основном в программах, написанных на высокоуровневых языках.
Какие бывают типы-папки и что в них может хранится:
Bitmap - Картинки с форматом bmp
Icon, Icon Group - иконки, все, какие есть в ехе, dll файлах, их расширение (вообще) ico
Version info - Описание, которое отображается в свойствах
Cursor,Cursor group - Курсоры, использованные в программе
String Table - Все переменные строкового типа, проще говоря строчки текста, которые присутствуют в программе
WAVE - WAV-звук
RCData - может содержать все, что угодно, даже часть некоторых свойств элементов, что очень полезно. Был случай когда в этом пункте переставив в одном месте с Visible = false на Visible = true я открывал новый функционал программы (скрытые вкладки)
Dialog - довольно "вкусная" часть. Можно редактировать формы программы
AVI - видео AVI
Menu - меню сверху и меню ниспадающее правой кнопки мыши, т.е. его текст и горячие клавиши.
В общем-то выше я описал основные типы данных, есть другие уникальные, в основном там XML, интересного не очень много.
Дальше. Справа в диалоге программы вы видите собственно содержимое ресурса.
Если вы хотите выдрать ресурс, давайте посмотрим как это сделать. Откройте любой ехе-файл.
правой кнопкой жмем на ресурсе:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Если появилось сообщение "This file has a non {...} "Exe compressor" " при открытии любого ресурса - читайте внизу.
Save all resources - сохранить в файл ресурсов всё, что нашлось вообще
Save {...} resources - сохранить данную папку с ресурсами (в данном случае - курсоры)
Save {...} - сохранить курсор прямо в нормальный формат (*.cur). Аналогично и с другими типами.
Rename resource - не трогайте, если не уверенны - это переименование ресурса
Delete Resource - удаление ресурса, только если вы уверенны, что он действительно не нужен, и программа сможет без него функционировать.
Теперь интересное -
Replace Resource - заменить ресурс на свой. Я бы рекомендовал использовать максимально похожий ресурс (если картинка - к примеру, то такая же по размеру). Смотрим:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Select file with {...} ... - Справа выбираем ресурс,жмем на кнопку и указываем свой. Потом кнопку Replace. Назаменялись? Закрываем.
В случае редактирования текста:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Меняем текст, перед тем как сменить ресурс обязательно жмем Compile script. Старайтесь не использовать знаки на подобии \ / - там есть ограничение на подобные символы. Если вы смените ресурс не сохранив текущие изменения в тексте, программа предложит - сохранить или нет.
Ну что, набаловались? Давайте сохранять. Если вы заранее сделали копию оригинала, записывайте поверх - File->Save, или Ctrl+S.
Готово. ResHacker автоматически создаст копию ехе-файла с приставкой _original.exe , так как если вы будете часто сохранять, может такое случиться, что в какой-то момент переделанный ехе-файл перестанет запускаться. В таком случае не помешало бы иметь его копию. Если после первого сохранения уже программа не запускается - или вы что-то не то удалили\переименовали\изменили, или же эта программа не подлежит редактированию.
Итак, запускайте, смотрите, исправляйте.
Запакованные ехе и dll:
Так может случится, что при открытии большинства или даже всех ресурсов будет вылетать сообщение "This file has a non {...} "Exe compressor" ". Значит он запакован. Тут может быть возможность его распаковать, но это как повезет. Статья не затрагивает эту тему. Тем не менее копайте в сторону утилиты PEiD. В PEiD найдёте пакер, а в гугле унпакер.
Чем полезна утилита ResHacker (если вы не вывели это из вышеописанного):
- Можно сделать перевод программы
- Немножко подредактировать оформление
- Удалить ненужные ресурсы
- Заменить икноку и описание ехе-файла
- Изменить содержимую графику\звук\видео
- Всё, что сможете еще придумать :)
Мануал подготовил Unc0r3x aka Я. Надеюсь, статья была вам полезной.
Это небольшой мануал по её использованию.
Ресурсы - данные, размещённые в отдельной секции .rsrc в исполняемых файлах и библиотеках формата Portable Executable.
Их удобно использовать потому, что они не занимают лишних файлов в папке с программой, да и с ресурсами очень легко работать с помощью сторонних программ, как ResHacker.
Скачать всегда можно здесь, на сайте автора:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Virustotal.com ([Ссылки могут видеть только зарегистрированные и активированные пользователи] c754f3ac96a795-1266677950) - отчёт.
Окно программы:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Справа - "папки ресурсов", то есть то, что наша программка смогла найти в файле (напоминаю, ехе или dll!). В данном случае это Icon, Icon Group и Version Info - последняя присутствует в основном в программах, написанных на высокоуровневых языках.
Какие бывают типы-папки и что в них может хранится:
Bitmap - Картинки с форматом bmp
Icon, Icon Group - иконки, все, какие есть в ехе, dll файлах, их расширение (вообще) ico
Version info - Описание, которое отображается в свойствах
Cursor,Cursor group - Курсоры, использованные в программе
String Table - Все переменные строкового типа, проще говоря строчки текста, которые присутствуют в программе
WAVE - WAV-звук
RCData - может содержать все, что угодно, даже часть некоторых свойств элементов, что очень полезно. Был случай когда в этом пункте переставив в одном месте с Visible = false на Visible = true я открывал новый функционал программы (скрытые вкладки)
Dialog - довольно "вкусная" часть. Можно редактировать формы программы
AVI - видео AVI
Menu - меню сверху и меню ниспадающее правой кнопки мыши, т.е. его текст и горячие клавиши.
В общем-то выше я описал основные типы данных, есть другие уникальные, в основном там XML, интересного не очень много.
Дальше. Справа в диалоге программы вы видите собственно содержимое ресурса.
Если вы хотите выдрать ресурс, давайте посмотрим как это сделать. Откройте любой ехе-файл.
правой кнопкой жмем на ресурсе:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Если появилось сообщение "This file has a non {...} "Exe compressor" " при открытии любого ресурса - читайте внизу.
Save all resources - сохранить в файл ресурсов всё, что нашлось вообще
Save {...} resources - сохранить данную папку с ресурсами (в данном случае - курсоры)
Save {...} - сохранить курсор прямо в нормальный формат (*.cur). Аналогично и с другими типами.
Rename resource - не трогайте, если не уверенны - это переименование ресурса
Delete Resource - удаление ресурса, только если вы уверенны, что он действительно не нужен, и программа сможет без него функционировать.
Теперь интересное -
Replace Resource - заменить ресурс на свой. Я бы рекомендовал использовать максимально похожий ресурс (если картинка - к примеру, то такая же по размеру). Смотрим:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Select file with {...} ... - Справа выбираем ресурс,жмем на кнопку и указываем свой. Потом кнопку Replace. Назаменялись? Закрываем.
В случае редактирования текста:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Меняем текст, перед тем как сменить ресурс обязательно жмем Compile script. Старайтесь не использовать знаки на подобии \ / - там есть ограничение на подобные символы. Если вы смените ресурс не сохранив текущие изменения в тексте, программа предложит - сохранить или нет.
Ну что, набаловались? Давайте сохранять. Если вы заранее сделали копию оригинала, записывайте поверх - File->Save, или Ctrl+S.
Готово. ResHacker автоматически создаст копию ехе-файла с приставкой _original.exe , так как если вы будете часто сохранять, может такое случиться, что в какой-то момент переделанный ехе-файл перестанет запускаться. В таком случае не помешало бы иметь его копию. Если после первого сохранения уже программа не запускается - или вы что-то не то удалили\переименовали\изменили, или же эта программа не подлежит редактированию.
Итак, запускайте, смотрите, исправляйте.
Запакованные ехе и dll:
Так может случится, что при открытии большинства или даже всех ресурсов будет вылетать сообщение "This file has a non {...} "Exe compressor" ". Значит он запакован. Тут может быть возможность его распаковать, но это как повезет. Статья не затрагивает эту тему. Тем не менее копайте в сторону утилиты PEiD. В PEiD найдёте пакер, а в гугле унпакер.
Чем полезна утилита ResHacker (если вы не вывели это из вышеописанного):
- Можно сделать перевод программы
- Немножко подредактировать оформление
- Удалить ненужные ресурсы
- Заменить икноку и описание ехе-файла
- Изменить содержимую графику\звук\видео
- Всё, что сможете еще придумать :)
Мануал подготовил Unc0r3x aka Я. Надеюсь, статья была вам полезной.