wcres.wcx позволяет просматривать, модифицировать и удалять ресурсы в PE32 файла (*.exe, *.dll, и т.д.). Каждый ресурс можут быть представлен как в двоичном формате (как в файле), так и в преобразованом к более привычному виду (изображение в формате BMP, файл ресурса (*.rc) и т.д.).
Возможность модификации и удаления ресурсов доступна только под Windows NT/2000/XP.
wcres.wcx выполнен в виде дополнительного модуля к Windows Commander/Total Commander, поэтому его установка заключается в
простом связывании с одим или несколькими типами файлов. При использовании с Windows Commander существуют некоторые нюансы:
- просто связать с расширение "exe" вы не можете, так как после этого запуск программы из Windows Commander
будет затруднен (а оно вам надо ?);
- файлы PE32 могут иметь различные расширения, порой самые немыслимые;
- а Ctrl+PgDn не работает с подклчаемыми упаковщиками (как например в FAR). В Total Commander появилась эта
возможность, поэтому все что написано выше уже не актуально.
В виду всего этого мой совет: свяжите с каким-нибудь одним расширением (например "pe") и переименовывайте или
копируйте файлы.
Каждый ресурс представлен одним файлом. Полный путь (относитьльно корня PE32 файла) содержит информацию о типе ресурса,
его языке и его имени:
- для модификации ресурса вы можете использовать двоичный формат, но при этом имя файла должно строго
соответствовать имени ресура;
- если при обратном преобразовании произошла ошибка ресурс будет записан в непреобразованном варианте
(в этом случаее возможно наличие двух ресурсов с "одинаковым" именем: первое имя из старого ресурса + расширение от
преобразования, второе имя: то что было запакованно (расширение - постольку поскольку)).
Для отключения преобразования используется SCROLL LOCK. При включенном SCROLL LOCK преобразование не выполняется.
Предопределенные типы представлены в следующем формате .RT_*. В привиденной ниже таблице указано какие типы могут быть преобразованы и какие расширения при этом будут даны:
Тип | Расширение | Описание |
---|---|---|
RT_CURSOR | CUR | Курсоры 1 |
RT_BITMAP | BMP | Изображения |
RT_ICON | ICO | Иконки 1 |
RT_MENU | RC | Стандартный скрипт ресурсов 2 |
RT_DIALOG | RC | Стандартный скрипт ресурсов 2 |
RT_STRING | RC | Стандартный скрипт ресурсов 2 |
RT_RCDATA | DFM | Из всех возможных ресурсов только для форм Borland 3 |
RT_GROUP_CURSOR | HTM | Краткая информация о ресурсе 4 |
RT_ICON_CURSOR | HTM | Краткая информация о ресурсе 4 |
Замечание: Windows Commnder, судя по всему, использует кэширование для содержания архива, из-за чего могут возникнуть проблемы при включении/выключении преобразования (имена файлов будут взяты из кэша, а таких файлов уже не будет).
Замечание: При удаленни всех ресурсов данного типа невозможно "подняться" на уровень выше.
Эта программа является свободно распростроняеммой при соблюдении следующих условий:
- она не может использоваться для модификации программ, если это запрещено соответствующими лицензионными соглашениями
- программа поставляется "как-есть", автор не несет ответственности за убытки полученные в результате использования этой программы
Версия 1.0.1.1
[+] Для корректной работы с формами от Delphi 6.0 и C++ Builder 6.0, плагин был перекомпилированн под Delphi 6.0 (глядишь как-нибудь руки и до 7.0 дойдут)
Версия 1.0.1.0
[+] Добавлены функции для работы с Total Commander, чтобы можно было получать доступ к ресурсам по Ctrl+PgDn
Версия 1.0.0.109
[+] Первый работающий выпуск
1 Будте аккуратны с изменением курсоров и иконок, информация по ним храниться в RT_GROUP_CURSOR и RT_GROUP_ICON соответственно. При изменении курсора или иконки обновляется только ресурс из RT_CURSOR или RT_ICON их описания не изменяются. Другими словами новый курсор или иконка должны иметь такие же параметры, что и старая (ширина, высота, количество цветов).
2 В принципе скрипты ресурсов вы можете изменять в любом соответсвующем редакторе, но некоторые из них используют константы (данная версия абсолютно не умеет с ними работать), поэтому существует вероятность, что обратно положить модифицированный ресурс не удасться.
3 При компиляции был использован Delphi 6, поэтому при работе с формами от Delphi 7 могут быть проблемы.
4 Этот HTML дан только для ознакомления, если вы хотите модифицировать ресурс, то необходимо использовать двоичный формат.