|
Автор: Соболев Антон
Что такое Restorator ?
Программа Restorator позволяет вам изменять интерфейс пользователя любой
32-х разрядной программы Windows и тем самым создавать приложения UCA (User-styled
custom application - Стилизованное пользователем приложение). Найти её можно
здесь -
http://www.bome.com/restorator/download.html.
Вы можете просматривать, извлекать, и изменять рисунки, значки, тексты, диалоги,
звуки, видео, меню, и многое другое.
Говоря техническим языком, она позволяет вам редактировать ресурсы во многих
типах файлов, например, файлов exe, dll, res, ocx (Active X), scr (Хранители
экрана), и других.
Диалог поиска позволяет Вам находить любые ресурсы на Вашем диске.
Вы можете распространять Ваши изменения в виде малого, самоизвлекающегося
файла - модуля ResPatcher.
Диалог Ограбление ресурсов позволяет Вам извлекать многие типы ресурсов (рисунки,
звуки, и т.п.) сразу.
Кроме того, Вы можете создавать малые, самовыполняющиеся программы, которые
восстанавливают модификации программы. Вы можете свободно распространять такие
модули ResPatcher.
Что такое UCA?
Стилизованное пользователем приложение (User-styled Custom Application
- UCA), это приложение, которое вы изменили для подгонки его под ваши потребности.
Это может быть сделано просто для украшения, либо по серьезным причинам типа
перевода интерфейса посльзователя программы.
Что такое "ресурсы" ?
Программа Restorator изменяет и создает ресурсы. Ресурсы - это данные принадлежащие
приложению, которые программист включил в программу. Внутри файла программы
они отделены от самой программы и поэтому могут быть изменены. Это и создает
техническое условие создания приложений UCA.
В файле ресурсы организованы в древовидной структуре : первый уровень определяет
тип ресурса (точечный рисунок, значек, и т. д.), а второй уровень определяет
имя ресурса ("MainIcon", "SplashScreen", и т.д.).
Windows предоставляет некоторые стандартные типы ресурсов, в то время как
другие типы ресурсов могут быть определены программистом и отображаются программой
Restorator заглавными буквами.
Для сохранения всех ресурсов в файл был стандартизован формат файла .res.
Программа Restorator включает в себя полную поддержку для создания/редактирования/открытия/сохранения
файлов типа res.
Возможно, что один и тот же ресупс хранит многие элементы на разных языках.
В таких случаях программа Restorator добавляет в древовидную структуру уровень
языка. (Например, в моей системе файл "WinNT\System32\comctl32.dll" (NT) или
"Windows\System\comctl32.dll" (95/98) имеет Строки и Диалоги на разных языках).
Интерфейс пользователя программы Restorator

-
Панели инструментов: Кнопки для быстрого доступа ко многим важным функциям.
Вы можжете располагать инструментальные панели путем щелчка на вертикальной
планке и перетаскивания их в другое место.
-
Дерево ресурсов : Высвечивает открываемые файлы и их древовидную структуру
ресурсов.
-
Обозреватель ресурсов : эта панель высвечивает выбранные ресурсы.
-
Проводник файлов : предназначен для облегчения доступа к файлам. Он работает
аналогично Проводнику Windows Explorer.
-
Всплывающие меню : вводите их в действие путем щелчка правой кнопки мыши.
Всплывающие меню предлагают важные функции для элемента, на котром вы делаете
щелчок.
Если Вы предпочитаете иметь независимое окно Обозревателя ресурсов или
Проводника файлов, выберите в меню "Опции" либо элемент "Окно инструментов
обозревателя ресурсов", либо "Окно инстументов проводника файлов".
Раскрытие ресурсов Проводника Explorer
Первый пример демонстрирует как вы можете открыть файл в программе Restorator
и как раскрыть ресурсы.
Когда вы запустили программу Restorator, активируйте диалог
открытия файла. Вы можете сделать это из меню Файл|Открыть, путем нажатия
сочетания клавиш Ctrl-O, щелчком на кнопке Открыть в панели инструментов
, либо
путем выбора команды Открыть во всплывающем меню дерева ресурсов.
В диалоге выберите файл C:\Windows\Explorer.exe.
|
 |
Когда Вы щелкнете на OK, этот файл отобразится в виде дерева ресурсов :
| Вы можете заметить, что Explorer имеет ресурсы таких типов
как: точечные рисуноки, меню, диалоги, строки, ускорители, значки и версию. |
 |
Теперь для просмотра списка рисунков щелкните на папку "Bitmap" и выберите
вней один из рисунков.

Обозреватель ресурсов высветит список рисунков. Они обычно идентифицируются
номерами 143, 149, и т.д. Вы можете увидеть размер каждого точечного рисунка
иинформацию о нем.
Для просмотра рисунков щелкните на значек "+" слева от папки и выберите
рисунок:

Здесь имеются некоторые рисунки, которые вы неоднократно видели.
Таким же способом вы можете просмотреть и другие ресурсы Проводника. Вы
увидите и другие методы отображения ресурсов. Здесь даны некоторые примеры:
Меню (как текст)

Диалоги (в реальном виде диалогов)

Строки (как текст)

Ускорители

Вы можете отобразить любые ресурсы в шестнадцатеричном виде путем щелчка на
инструментальной кнопке со значком "Ш"
.
Значки (как значки с выбором формата отображения и цветом фона)

Информация о версии (как таблица)

Примечание: вы не можете изменить информацию о версии.
Замена рисунка напоминания Навигатора Netscape Navigator
Этот пример показывает как вы можете сделать свое украшение: мы заменим
рисунок экрана напоминания Навигатора Netscape Navigator 4.5. Представьте,
что Вы создаете ваш собственный UCA Навигатор!
Отметьте, что программа Netscape Navigator защищена законом об авторском
праве. Вы можете изменить ее (и другие программы) только для личного использования.
Не забывайте об этом, чтобы избежать нарушения любых законов об авторском
праве.
Здесь
показана другая возможность открытия файла: Используем проводник файлов программы
Restorator для его нахождения. Экран напоминания Навигатора Navigator можно
найти в файле resdll.dll в каталоге \Program Files\Netscape\Communicator\Program.
Используем каталог ".." в Проводнике файлов, или кнопку
для перехода
к каталогу верхнего уровня.
Затем перетащим файл resdll.exe с помощью мышки в окно Дерево ресурсов.
Может возникнуть такой вопрос, а как найти этот файл "resdll.dll". Я например,
для начала обычно смотрю файл "*.exe". Так-как в таких файлах той или иной
программы обычно содержиться все самое интересное, но я ненахожу там ничего
удавлетворяющего моему запросу, поэтому я начинаю поиск с помощью диалога
поиска в каталоге его установки данном случае в каталоге "Communicator" и
начинаю поиск ресурсов типа Bitmap (точечный рисунок). Я программа поиска
находит некторые файлы и я просматриваю каждый из них на предмет наличия того
самого рисунка напоминания.
 |
Теперь просмотрим ресурсы раздела Bitmap: номер '1474' содержит точечный
рисунок, который отображаеться на экране напоминания Netscape. |
Изменение ресурсов всегда осуществляют следующим образом:
-
Извлечение ресурса на диск
-
Его изменение в другой программе "кроме строк (String) конечно :-) "
-
Назначение измененного файла соответствующему ресурсу
-
Сохранение для создания приложения UCA
1. Извлечение ресурса на диск
| Простейшим способом является перетаскивание ресурса в Проводник
файлов (для этого он и был сделан). В примере я создаю каталог C:\test,
в который сохраняю экран приветствия Netscape.
Этим файлом по усмолчанию будет 1474.bmp.
Можно это сделать иначе, а именно нажав правую кнопку мыши на том ресурсе
который нужно извлечь в нашем случае это 1474 и выбрать пункт "Извлечь"
или "Извлеч как" а ешо можно использовать использовать главное меню "Ресурсы"
.
Этот процесс сохранения ресурсов называют "извлечением ресурса"-
|
 |
2. Изменение ресурсов
Для редактирования ресурсов я использую программу общего пользования (shareware)
Paint Shop Pro. Я открываю рисунок 1474.bmp (вы можете перетащить его непосредственно
из проводника программы Restorator в окно Paint Shop Pro).
Для моего нового экрана приветствия я решил, что найболее подходяшим является
рисунок виндсерфинга , так как серфинг - это то, что делаем с Netscape !
|
Я изменяю мой рисунок виндсерфинга чтобы он имел размер 380x217 пикселей
и уменьшаю цветовую глубину до 256. (Оригинальное изображение Netscape имеет
256 цветов, так что я сохраняю эту цветовую глубину).
Затем я копирую и вставляю мой рисунок в 1474.bmp, сохраняю его как 1474mod.bmp.
Посмотрите справа как теперь выглядит мой экран ! (Благодарю "Niels за фотографию"
!)
|
 |
3. Передача измененного пункта
Вновь,
проще всего это сделать путем перетаскивания нового файла в окно Дерева ресурсов.
Этот процес замены ресурса называется "передачей".Вы можете найти ресурс
1474 используя контекстное меню, или меню "Ресурсы".
Когда вы успешно
передали изменения в дерево, на значке того пункта который вы изменили появляется
стрелочкой похожей на стандартный значек ярлыка Windows.
Вы можете найти функцию отмены передачи в меню "Ресурсы", или во всплывающем
меню она называется "Отсоеденить".
4. Сохранение библиотеки resdll.dll для создания приложения UCA
Вы должны сохранить библиотеку resdll.dll на диск для того, чтобы ваши
изменения вступили в силу. Щелкните на кнопке Сохранить
и сохраните
файл с предложенным именем resdll1.dll. Конечно вы можете и сразу заменить
resdll.dll на ваш новый файл. Но я хочу быть осторожным и делаю резервную
копию. Я делаю это так :
| Вы можете использовать контекстное меню resdll1.dll в окне Дерево ресурсов
для быстрого перехода к каталогу resdll1.dll: |
 |
Я переименую исходный файл в resdll_orig.dll (используя для переменования
всплывающее меню resdll.dll или клавишу F2). Если Netscape запущен, сначала
закройте его чтобы был доступ библиотеке resdll.dll.
Иначе вы несможете его сохранить под этим именем.
 |
Для возможности переименовать resdll1.dll, закройте файл resdll1.dll
в программе Restorator. Для этого Вы можете использовать кнопку Закрыть
на панеле инструментов
. Затем
переименуем resdll1.dll в resdll.dll. Мы хотим, чтобы Netscape использовал
измененный файл ! |
Испытаем !
Наконец запустим наше приложение UCA "Netscape" для просмотра нового экрана
приветствия ! Он прекрасен, не правда ли ?
Поиск файлов, которые имеют встроенные анимации
Вы вероятно знакомы с некоторыми анимациями Windows, например, с летящими
бумажками из одной папки в другую при копировании файлов. Эти анимации сохраняются
как видео файлы avi в ресурсах. Этот пример поясняет как находить файлы, сохраненные
как файлы avi.
1. Открытие диалога поиска ресурсов
Для открытия диалога поиска ресурсов используйте кнопку поиска в инструментальной
панели .
Вы имеете несколько опций для указания типа ресурсов, которые вы хотите
найти. Вначале мы можем отметить опцию "Все типы", чтобы не ограничивать результаты
поиска до конкретного типа ресурсов.
Когда мы отмечаем опцию "Стандартные ресурсы Windows", вы можете выбирать
определенный тип Windows, который вы хотите найти. Альтернативно, вы можете
выполнить поиск по конкретному типу данных (клипы AVI, Звуки, рисунки, и т.д.),
которые программа Restorator распознает автоматически. Наконец, вы можете
выполнять поиск по конкретному типу имени ресурсов.
Поле "Имя ресурса" позволяет вам находить конкретное имя ресурса, например,
"1474".
В поле "Искать текст" вы можете ввести текст, который будет разыскиваться
в ресурсах файлов.
В поле Типы файлов вы можете ограничить поиск до конкретных типов файлов.
Поле "Искать в" устанавливает каталог, в котором будет выполняться поиск
файлов. Вы можете выбрать этот каталог с помощью кнопки Обзор. Когда отмечена
опция "Включая подпапки", будут просматриваться все подпапки в каталоге.
2. Установка критерия поиска
Все критерии, которые вы введете в соответствующие поля, имеют смысловое
значение для поиска файлов. Для этого примера мы ищем тип файлов "анимация".
Он не определен заранее системой Windows так, что мы позволим чтобы программа
Restorator определяла его. Посмотрите выше как я указал мой поиск клипов AVI.
Нажмите на кнопку Обзор для выбора каталога, в который установлена ОС Windows
(конечно же, вы можете указать поиск везьде, например на всем диске C:\).

3. Поиск !
| Наконец, нажмите на кнопку "Найти" и подождите появления файлов в окне
Дерево ресурсов программы Restorator.
С правой стороны вы увидите анимацию файла Main.cpl. Здесь CPL - это
расширение для программ панели управления. Прекрасную анимацию можно увидеть
в апплете Мышки панели управления.
|
 |
Таким образом, вы могли убедиться, что система поиска дает незаменимую
возможность нахождения ресурсов любого типа.
Когда вы оставляете все поля диалога пустыми и устанавливаете тип на "Все
типы", вы программа будет находить все (32-х разрядные) файлы, которые имеют
какие-либо ресурсы, то есть огромное количество.
Перевод программы MS Paint
Программа MS Paint - это программа рисунков, поставляемая с системой Windows.
Вы можете найти ее файл "MSPaint.exe" в "C:\Program Files\Accessories" (Windows
95/98) или в "C:\WINNT\system32" (Windows NT).
Вновь помните об авторском праве на программы. Вы можете изменить ее (и
другие программы) только для личного использования. Только в этом случае вы
избежите нарушений любых законов об авторском праве.
1. Перевод ресурсов Строки
Программа Paint имеет большой объем ресурсов "Строки". Теперь мы используем
встроенный редактор программы Restorator для их изменения: выберем ресурсы
Строка...

...и щелкнем на кнопке инструмента "aб|". Окно дисплея заменяется на форму
"rc" :

В этом примере я переведу текст на немецкий язык :

Для завершения изменений я нажимаю на клавишу F8 или на кнопке инструмента
Передать. Малая стрелка в окне Дерево ресурсов напоминает мне, что я изменил
этот ресурс.
Очевидно, что могут быть переведены все текстовые сообщения.
2. Перевод меню
Щелкните на первом входе меню в окне Дерево ресурсов. Так как мы еще в
режиме редактирования, теперь меню высвечивается в "rc" форме:

В дополнение к этому всплывает окно предварительного просмотра меню:

При редактировании текста в меню вы можете нажимать на клавишу F7 для обновления
окна предварительного просмотра.
Перевод меню выполняется аналогично переводу строк. Внизу текста "rc" здесь
имеются некоторые подсказки на эту тему, связанные с меню.

3. Перевод диалогов
Перевод диалогово аналогичен переводу меню: здесь также имеется окно предварительного
просмотра и вы можете изменять тексты:

Вы также можете изменять раскладку, размеры и т.п. диалога.

4. Перевод ускорителей
Ускорители - это сочетания клавиш для часто используемых функций. Например,
многие приложения определяют сочетание клавиш "Ctrl-C" для копирования в буфер
обмена. Эти сокращения сохраняются в типе ресурсов Ускорители.
Каждый уксоритель назначается определенному элементу меню. В этом примере
я хочу изменить клавиши ускорителя для элемента меню "Открыть". Обычно ему
назначено сочетание клавиш "Ctrl-O". Теперь же в моей немецкой версии я хочу
иметь в качестве ускорителя сочетание "Ctrl-Ц". В ресурсах меню я нахожу,
что элемент меню Открыть имеет номер -7935. Так что в ускорителях я нахожу
ID -7935:

Я просто изменяю на "Ctrl-Ц" и нажимаю на клаишу F8 для подтверждения.
5. Сохранение новой программы MSPaint
Теперь сохраним файл аналогично как описано в прошлой статье. Здесь нет
необходимости делать файл резервной копии - просто сохраним его как MSPaint1.exe.
Затем щелкнем на кнопке инструмента Запуск
и
посмотрим отличие вашего нового приложения UCA !
Извлечение всех ресурсов сразу
Для этого примера с целью демонстрации я выбрал файл shell32.dll . Он может
быть найден в каталоге "Windows\System" (95/98) или в "WinNT\System32".
1. Открытие файла shell32.dll
Здесь
мы изучим новый способ открытия файла: используя всплывающее контекстное меню
Проводника Windows Explorer. Для этого перейдем к каталогу указанному выше
и найдем файл shell32.dll. Затем шелкните на нем правой кнопкой мышки и выберите
команду "Open with Restorator".
2. Извлечение всех ресурсов
Во
первых для поддержания порядка на диске с помошью Обозревателя файлов программы
Restorator создадим подкаталог в каталоге "C:\test". Для этого используем
кнопку инструмента "Новая папка"
. Назовем
этот новый каталог "Shell". Затем перетащим файл Shell32.dll из окна Дерево
ресурсов и опустим его над новой папкой в Обозревателе файлов. Альтернативно
вы можете использовать функцию "Извлечь все" из меню Ресурсы или из всплывающего
меню на Shell32.dll.
Для каждого
типа ресурсов будет создаваться подкаталог с именем типа ресурса. При просмотре
в этих каталогах вы найдете для каждого ресурса файл с именем после имени
ресурса. В частности, каталог Значки содержит некоторые интересные Значки,
не так ли ?
Очевидно, что вы можете легко создать вашу персональную базу данных по
значкам...
Типы ресурсов, которые не распознаются (пока) программой Restorator, просто
будут иметь расширение "raw". Таким образом, вы сможете идентифицировать файлы
"сырых" ресурсов. Я постоянно расширяю диапозон ресурсов, известных программе
Restorator.
3. Назначение ВСЕХ ресурсов
Вы можете сделать обратный процесс и назначить все ресурсы сразу ! Это
может бывает удобно когда вы делаете множество изменений в ваших файлах ресурсов.
Вы можете пожелать создать вашу анимацию "летящих бумажек и/или изменить ваши
системные значки...
Для назначения всех ресурсов сразу перетащите папку "Shell" и опустите
ее на shell32.dll в окне Дерево ресурсов. Так-же, вы можете использовать меню
"Ресурсы", или всплывающее меню на shell32.dll для выбора функции "Авто связь
всех ресурсов".
Когда
программа Restorator встречается с каими-либо проблемами или ошибками во время
процесса автоматического назначения, она высвечивает диалог со списком этих
ошибок. Например диалог справа. Первая строка показывает имя ресурса, с которым
произошла проблема. Вторая строка является сообщением об ошибке которая случилась
- программа Restorator не позволяет изменять версию ресурсов чтобы избегать
недоразумений. Третья строка указывает соответствующий файл ресурса на диске.
Изменение программы написанной на языке Delphi
Этот пример показывает как изменить программы Delphi. Свойства содержат
множество параметров визуального интерфейса пользователя. Они также включают
многие текстовые сообщения и меню ! В качестве демонстрации я изменю саму
программу Restorator :)
1. О программах на языке Delphi
Inprise's Delphi - это инструмент разработки, с помощью которого просто
создавать мощные прикладные программы (приложения). Я создавал мой Restorator
на Delphi. Тем не менее, Delphi не соблюдает стандарты Windows и не сохраняет
всю информацию в предопределенные ими типы ресурсов. Вместо этого Delphi создает
ресурс "RCData" для каждого окна программы. Этот ресурс содержит всю информацию
об окне, например, его размер, содержащиеся элементы управления, и включаемые
рисунки.
2. Примечание
Обновленная версия программы Restorator не сохраняет ее экран приветствия
в ресурсах RCData. Его теперь можно найти в типе ресурсов JPEG. Я оставил
этот пример чтобы показать как можно сделать изменения для форм Delphi.
3. Нахождение окна приветствия программы Restorator
Откройте
файл Restorator.exe и найдите ресурс RCData- TSPLASHFORM1. Это и есть окно,
которое появляется при запуске программы Restorator или при выборе в меню
Справка команды "О программе". В обозревателе ресурсов вы может уже видели
описание окна !
Теперь сохраните его на диск (например, путем перетаскивания и опускания
аналогично предыдущим примерам). Описание окна сохраняется как файл txt. Все
включенные рисунки и двоичные данные сохраняются в отдельные файлы. В этом
случае будет создан один отдельный файл, а именно: "TSplashForm1_Image1_Picture_Data.bmp".
Откройте текстовый файл в текстовом редакторе. Вы увидите строку, которая
ссылается на этот рисунок:

Вы можете изменить любые элементы в текстовом файле txt, но вы должны быть
осторожными, слишком большие изменения приведут к не работоспособности программы
после ее сохранения...
Вы также можете изменить рисунок. Тем не менее, не назначайте сейчас рисунок,
это будет пояснено в следующем этапе.
4. Назначение измененных файлов
В случае других ресурсов здесь был бы просто один файл для изменения и
назначения. Здесь же вы имеете их два (текстовый txt и bmp). Так как текстовый
файл txt содержит ссылку на рисунок bmp, вы всегда используете файл txt для
назначения окна Delphi.
Кроме того, вы должны знать как назначать файлы ресурсов, например, перетащить
и опустить TSplashForm1.txt на соответствующий элемент ресурса. Когда программа
Restorator не сообщает об ошибке, просто сохраните файл Restorator.exe как
Restorator1.exe..., и вы все здесь сделали! Это (на мой взгляд) очень просто
! (в скором времени будет поддержка отображения окна Delphi в нормальном виде
но пока этого нет)
Создание модуля ResPatcher
Этот пример покажет как вы можете распространять ваши изменения среди ваших
друзей.
1. О модуле ResPatcher
С пакетом Restorator вы можете создавать специальную программу, которая
вставит в файл все ваши изменения. Она мала по размеру (так как она запоминает
только измененные ресурсы а не весь файл с его кодом и функциями) и человек,
который ее использует, может не устанавливать себя программу Restorator. Нет
необходимости давать полный файл exe или dll, и поэтому это не создает проблем
с нарушением авторских прав.
2. Создание модуля ResPatcher для "UCA Netscape"
Вновь откройте файл resdll.dll для Netscape. Точечный рисунок 1474 должен
иметь малую синюю стрелку для показа, что он был ранее изменен:

Теперь нажмите на кнопке инструмента RP для запуска Мастера модуля ResPatcher:

Нажмите Дальше для продолжения. Я сделал следующее:






3. Просмотр созданного модуля ResPatcher
Когда я смотрю каталог resdll.dll, я могу увидеть сгенерированный модуль
ResPatcher: его имя будет "MakeCoolSplash.exe" как я указал в этапе 2 Мастера
ResPatcher. И его размер составляет всего 74 Кб ! (естествено что его размер
зависит от количества измененных ресурсов) Очевидно, что более практично давать
эти 74 Кб чем 1,2 Мб resdll.dll. Этот модуль ResPatcher содержит в сжатом
виде измененный экран приветствия.
4. Испытание модуля ResPatcher
Теперь я запускаю модуль для испытания:

Два текстовых поля точно соответствуют входам. При щелчке на "Пуск", создается
файл "resdll.dll", который имеет измененный экран приветствия. Когда вы даете
это кому либо еще, укажите им запустить и нажать на кнопке "Читать инструкции".
5. Замечание
Модуль ResPatcher можно создать только в зарегистрированной версии.
Технические спецификации программы Restorator
Следующие типы ресурсов "распознаются" программой Restorator:
тип ресурса
|
отображаемые
форматы
|
отображаемые
типы
|
извлечение
(сохранение в файл)
|
назначение
(изменение)
|
| Рисунки |
bmp, jpg |
image |
bmp, jpg |
bmp, jpg |
| Рисунки GIF |
|
hexdump |
gif |
gif |
| Значки |
ico |
icon |
ico, bmp |
ico, bmp |
| Курсоры |
cur |
cursor |
cur, bmp |
cur, bmp |
| Звуки |
wav, aiff |
play |
aif, wav |
aif, wav |
| MIDI файлы |
midi |
play |
mid |
mid |
| Видео |
avi |
view |
avi |
avi |
| Тексты |
все |
текст |
txt |
txt |
| RTF |
все |
RTF |
rtf |
rtf |
| Формы Delphi |
все |
текст |
txt, dfm |
txt,dfm |
| Окна диалога |
все |
окно диалога |
rc |
rc |
| Ускорители |
все |
текст |
txt |
txt |
| Меню |
все |
текст |
rc |
rc |
| Информация о версии |
все |
таблица |
raw |
|
| Другие ресурсы |
все |
hexdump |
raw |
raw |
THE END
|