Smarty
16-02-2010, 22:46
Restorator 2018 (http://forum.oszone.net/post-2820301-278.html)
http://s002.radikal.ru/i198/1002/f1/25449cf8328b.jpg (http://www.radikal.ru)
Restorator - это редактор ресурсов Windows.
Ресурсы - это дополнительные данные, сопровождающие приложения Windows.
Они являются частью прикладного интерфейса:
диалоги,
меню,
изображения,
текст,
значки и др.
Обычно, ресурсы хранятся в файлах ехе и dll.
Restorator может редактировать эти файлы ресурсов и тем самым изменить внешний вид или
язык приложения, полностью независимо от разработки и инструментов компилирования.
Вы можете редактировать ресурсы непосредственно в исполняемом файле.
Статьи предназначены для начинающих пользователей и рассматривают "первые шаги" в работе с программой.
Во вложении ссылка на русскую Справку с примерами (5.10 Мб)
Перейти к статьям >> (http://www.oszone.net/11352/Restorator)
[hr]
Извлечение ресурсов из всех файлов системы
Запускаем Ресторатор, идем Сервис -> Захват ресурсов
http://i057.radikal.ru/1007/b2/2d216d6df971t.jpg (http://radikal.ru/F/i057.radikal.ru/1007/b2/2d216d6df971.jpg.html)
Открывается диалог
http://s05.radikal.ru/i178/1007/f9/dcaae109dbbct.jpg (http://radikal.ru/F/s05.radikal.ru/i178/1007/f9/dcaae109dbbc.jpg.html)
Выбираете в верхней части окна Захват типов ресурсов все типы,
ниже, в Исходные файлы, выбираете Захват из файлов в папке и указываете
диск С:\ (или на каком установлена система). Далее...
Переходите ниже, в Файлы назначения (захваченные), указываете папку для сохранения
извлеченных ресурсов и ещё ниже выбираете Место в подпапках для каждого типа.
Нажимаете Начать захват и ждете окончания процесса.
При таких настройках все выбранные в Захват типов ресурсов типы будут разложены по своим папкам
с указанием имени файла и номера (или имени) ресурса, откуда он был захвачен!
Например, изображения:
http://s49.radikal.ru/i123/1007/ea/ed725f10c8cbt.jpg (http://radikal.ru/F/s49.radikal.ru/i123/1007/ea/ed725f10c8cb.jpg.html)
Сохранив захваченные ресурсы вы в последствии можете быстро найти нужный,
т.к. имя картинки, значка, анимации и т.д. содержит имя файла и номер ресурса!
[hr]
Поиск ресурса во всех файлах системы!
Запускаем Ресторатор, идем Сервис -> Поиск ресурсов
http://s002.radikal.ru/i197/1009/d9/0be0f0933daft.jpg (http://radikal.ru/F/s002.radikal.ru/i197/1009/d9/0be0f0933daf.jpg.html)
Далее, в зависимости от того, что нужно найти, выбираем параметры поиска.
Надо иметь хоть какое-нибудь представление, где нужный ресурс может находиться.
С картинками, анимацией, значками и др. более менее понятно, т.к. находятся они в "теле" файла.
Поиск текста может быть затруднен тем, что текст может находиться непосредственно в диалоге,
а может в строковой таблице.
Как правило, в строковой таблице хранится текст, который не используется в статичных полях диалогов,
а отображается в раскрывающихся списках, настройках и т.д.
Можно конечно выбрать параметр Все типы, но поиск может затянуться надолго!
Как пример, возьмем надпись на кнопке меню Пуск - Выполнить....
Для удобства работы с Ресторатором в Windows 7 можно ассоциировать языковые
файлы *.mui с программой. Как это сделать - написано в первой части статьи (http://www.oszone.net/11338/Restorator#05).
Поскольку русский текст хранится только в файлах *.mui, то есть смысл сократить
область поиска только этими файлами. Значит выбираем Тип файла - mui file (*.mui).
Подумайте, где может храниться надпись Выполнить...?
(если думать лень, то выбирайте Все типы)
Так как эту кнопку можно убрать из меню Пуск, то скорее всего надпись расположена не в Диалоге, а в Строковой таблице.
Далее надо выбрать место поиска.
Языковые файлы, отвечающие за интерфейс системы (в большинстве своем) находятся здесь:
C:\Windows\System32\ru-RU
Значит в поле Поиск в: указываем этот путь, ставим галку на опции Включая подпапки
и нажимаем кнопку Начать поиск.
http://s55.radikal.ru/i147/1009/23/2b242e208409t.jpg (http://radikal.ru/F/s55.radikal.ru/i147/1009/23/2b242e208409.jpg.html)
Поиск в этой папке ничего не дал, значит надо искать в другой подпапке папки Windows.
http://s60.radikal.ru/i167/1009/08/939614401a79t.jpg (http://radikal.ru/F/s60.radikal.ru/i167/1009/08/939614401a79.jpg.html)
В папке Windows есть ещё одна папка с языковыми файлами:
C:\Windows\ru-RU
Запускаем поиск в ней.
И вот файл, содержащий надпись Выполнить... найден.
http://s51.radikal.ru/i134/1009/17/415969dfba24t.jpg (http://radikal.ru/F/s51.radikal.ru/i134/1009/17/415969dfba24.jpg.html)
Закрываем окно поиска и переходим к папке Строковая таблица.
Надпись из меню Пуск найдена!
http://s004.radikal.ru/i208/1009/b9/39f41682aa5ft.jpg (http://radikal.ru/F/s004.radikal.ru/i208/1009/b9/39f41682aa5f.jpg.html)
Картинки, анимацию и значки таким образом найти невозможно, т.к. надо заранее знать обозначение ресурса.
Поэтому, если вы всерьез задумали "перекопать" систему, лучше извлечь все не текстовые ресурсы заранее в
определенную папку и ориентироваться по ним. Как это сделать - написано в Извлечение ресурсов из всех файлов системы.
[hr]
Добавление ресурсов в файлы
Чтобы сделать правильный Респатчер, нужно правильно добавить ресурсы!
Ресурс в файле может иметь разные языковые значения:
Нейтральный
Пользовательский
Русский
Английский
и т.д.
Добавляемый или изменяемый ресурс должен иметь такой же языковой параметр, как и "родные" ресурсы в файле!
Например, языковой параметр Нейтральный имеет приоритет перед ресурсом конкретного языка (Русский, Английский...).
Объясню на примере.
Допустим, в файле все ресурсы имеют языковой параметр Русский. Вы добавили изображение и не проверили язык.
По умолчанию языковой параметр принял значение Нейтральный. Вы создали Респатчер для последующего применения и распространения.
Другой человек для этого же файла добавил свои ресурсы, но с правильным для этого файла языком, например Русским.
Вы решили воспользоваться Респатчером второго человека, а файл уже пропатчен Респатчером первого.
Изменений после второго пропатчивания вы не увидите!
После первого пропатчивания был добавлен ресурс с языком Нейтральный, который, как я писал выше, имеет приоритет
перед конкретными языками. После второго пропатчивания ресурс с языком Русский в файл был добавлен, но там же
уже существует ресурс с языком Нейтральный, который и будет отображать система!
Другими словами, такие два Респатчера для одного и того же файла не будут совместимы.
Ресурс из второго Респатчера не заменяет ресурс из первого, а добавляет свой.
[hr]
Сохранение изменений в файл ресурсов .RES
Для дальнейшего редактирования\использования сделанных изменений в файле можно использовать формат файлов .RES.
Создать его проще, чем создать Респатчер.
Разница заключается в том, что Респатчер содержит исполняемый модуль, который и пропатчивает (модифицирует) файлы,
но его нельзя изменить! Внести изменения в Респатчер можно только пропатчив соответствующий файл, внести изменения
в него, а потом создать новый Респатчер для этого файла.
Файл .RES содержит только ресурсы и его можно редактировать!
Применить файл ресурсов к соответствующему файлу можно при помощи скрипта для программы ResHacker, или используя
универсальный патчер W7Patcher (http://forum.oszone.net/thread-151734.html) от Mr dUSHA (http://forum.oszone.net/member.php?userid=66512).
Подробнее о применении файлов ресурсов в теме W7Patcher (http://forum.oszone.net/thread-151734.html).
[hr]
Редактирование ресурсов в Windows 7 x64
На платформе х64 редактировать ресурсы непосредственно в папке System32 нельзя!.
Программы Restorator и ResHacker являются 32-битными программами, а 64-битная система устроена таким образом,
что при запуске 32-битной программы все ее запросы перенаправляются в папку SysWOW64!
Как известно, в папке System32 лежат 64-битные файлы, а в SysWOW64 - 32-битные (для совместимости с 32-битными приложениями).
Открывая в Restorator или ResHacker файл из папки System32, вы будете думать, что правите файл именно в папке System32,
но система уже перенаправила запрос редактора в папку SysWOW64! Догадываетесь что будет дальше?
Система 64-битная и для своей работы берет файлы из System32, а вы изменили файлы в SysWOW64!
Сделанных изменений вы не увидите!
Какой выход?
Копируете файл из папки System32 в любую другую не системную папку, там редактируете и сохраняете.
Получаете права на этот файл в System32, переименовываете его (например, в Shell32_original.dll), копируете отредактированный файл
на место переименованного, восстанавливаете права доступа, удаляете папки с кешами (об этом ниже) и перезагружаетесь.
[hr]
http://s002.radikal.ru/i198/1002/f1/25449cf8328b.jpg (http://www.radikal.ru)
Restorator - это редактор ресурсов Windows.
Ресурсы - это дополнительные данные, сопровождающие приложения Windows.
Они являются частью прикладного интерфейса:
диалоги,
меню,
изображения,
текст,
значки и др.
Обычно, ресурсы хранятся в файлах ехе и dll.
Restorator может редактировать эти файлы ресурсов и тем самым изменить внешний вид или
язык приложения, полностью независимо от разработки и инструментов компилирования.
Вы можете редактировать ресурсы непосредственно в исполняемом файле.
Статьи предназначены для начинающих пользователей и рассматривают "первые шаги" в работе с программой.
Во вложении ссылка на русскую Справку с примерами (5.10 Мб)
Перейти к статьям >> (http://www.oszone.net/11352/Restorator)
[hr]
Извлечение ресурсов из всех файлов системы
Запускаем Ресторатор, идем Сервис -> Захват ресурсов
http://i057.radikal.ru/1007/b2/2d216d6df971t.jpg (http://radikal.ru/F/i057.radikal.ru/1007/b2/2d216d6df971.jpg.html)
Открывается диалог
http://s05.radikal.ru/i178/1007/f9/dcaae109dbbct.jpg (http://radikal.ru/F/s05.radikal.ru/i178/1007/f9/dcaae109dbbc.jpg.html)
Выбираете в верхней части окна Захват типов ресурсов все типы,
ниже, в Исходные файлы, выбираете Захват из файлов в папке и указываете
диск С:\ (или на каком установлена система). Далее...
Переходите ниже, в Файлы назначения (захваченные), указываете папку для сохранения
извлеченных ресурсов и ещё ниже выбираете Место в подпапках для каждого типа.
Нажимаете Начать захват и ждете окончания процесса.
При таких настройках все выбранные в Захват типов ресурсов типы будут разложены по своим папкам
с указанием имени файла и номера (или имени) ресурса, откуда он был захвачен!
Например, изображения:
http://s49.radikal.ru/i123/1007/ea/ed725f10c8cbt.jpg (http://radikal.ru/F/s49.radikal.ru/i123/1007/ea/ed725f10c8cb.jpg.html)
Сохранив захваченные ресурсы вы в последствии можете быстро найти нужный,
т.к. имя картинки, значка, анимации и т.д. содержит имя файла и номер ресурса!
[hr]
Поиск ресурса во всех файлах системы!
Запускаем Ресторатор, идем Сервис -> Поиск ресурсов
http://s002.radikal.ru/i197/1009/d9/0be0f0933daft.jpg (http://radikal.ru/F/s002.radikal.ru/i197/1009/d9/0be0f0933daf.jpg.html)
Далее, в зависимости от того, что нужно найти, выбираем параметры поиска.
Надо иметь хоть какое-нибудь представление, где нужный ресурс может находиться.
С картинками, анимацией, значками и др. более менее понятно, т.к. находятся они в "теле" файла.
Поиск текста может быть затруднен тем, что текст может находиться непосредственно в диалоге,
а может в строковой таблице.
Как правило, в строковой таблице хранится текст, который не используется в статичных полях диалогов,
а отображается в раскрывающихся списках, настройках и т.д.
Можно конечно выбрать параметр Все типы, но поиск может затянуться надолго!
Как пример, возьмем надпись на кнопке меню Пуск - Выполнить....
Для удобства работы с Ресторатором в Windows 7 можно ассоциировать языковые
файлы *.mui с программой. Как это сделать - написано в первой части статьи (http://www.oszone.net/11338/Restorator#05).
Поскольку русский текст хранится только в файлах *.mui, то есть смысл сократить
область поиска только этими файлами. Значит выбираем Тип файла - mui file (*.mui).
Подумайте, где может храниться надпись Выполнить...?
(если думать лень, то выбирайте Все типы)
Так как эту кнопку можно убрать из меню Пуск, то скорее всего надпись расположена не в Диалоге, а в Строковой таблице.
Далее надо выбрать место поиска.
Языковые файлы, отвечающие за интерфейс системы (в большинстве своем) находятся здесь:
C:\Windows\System32\ru-RU
Значит в поле Поиск в: указываем этот путь, ставим галку на опции Включая подпапки
и нажимаем кнопку Начать поиск.
http://s55.radikal.ru/i147/1009/23/2b242e208409t.jpg (http://radikal.ru/F/s55.radikal.ru/i147/1009/23/2b242e208409.jpg.html)
Поиск в этой папке ничего не дал, значит надо искать в другой подпапке папки Windows.
http://s60.radikal.ru/i167/1009/08/939614401a79t.jpg (http://radikal.ru/F/s60.radikal.ru/i167/1009/08/939614401a79.jpg.html)
В папке Windows есть ещё одна папка с языковыми файлами:
C:\Windows\ru-RU
Запускаем поиск в ней.
И вот файл, содержащий надпись Выполнить... найден.
http://s51.radikal.ru/i134/1009/17/415969dfba24t.jpg (http://radikal.ru/F/s51.radikal.ru/i134/1009/17/415969dfba24.jpg.html)
Закрываем окно поиска и переходим к папке Строковая таблица.
Надпись из меню Пуск найдена!
http://s004.radikal.ru/i208/1009/b9/39f41682aa5ft.jpg (http://radikal.ru/F/s004.radikal.ru/i208/1009/b9/39f41682aa5f.jpg.html)
Картинки, анимацию и значки таким образом найти невозможно, т.к. надо заранее знать обозначение ресурса.
Поэтому, если вы всерьез задумали "перекопать" систему, лучше извлечь все не текстовые ресурсы заранее в
определенную папку и ориентироваться по ним. Как это сделать - написано в Извлечение ресурсов из всех файлов системы.
[hr]
Добавление ресурсов в файлы
Чтобы сделать правильный Респатчер, нужно правильно добавить ресурсы!
Ресурс в файле может иметь разные языковые значения:
Нейтральный
Пользовательский
Русский
Английский
и т.д.
Добавляемый или изменяемый ресурс должен иметь такой же языковой параметр, как и "родные" ресурсы в файле!
Например, языковой параметр Нейтральный имеет приоритет перед ресурсом конкретного языка (Русский, Английский...).
Объясню на примере.
Допустим, в файле все ресурсы имеют языковой параметр Русский. Вы добавили изображение и не проверили язык.
По умолчанию языковой параметр принял значение Нейтральный. Вы создали Респатчер для последующего применения и распространения.
Другой человек для этого же файла добавил свои ресурсы, но с правильным для этого файла языком, например Русским.
Вы решили воспользоваться Респатчером второго человека, а файл уже пропатчен Респатчером первого.
Изменений после второго пропатчивания вы не увидите!
После первого пропатчивания был добавлен ресурс с языком Нейтральный, который, как я писал выше, имеет приоритет
перед конкретными языками. После второго пропатчивания ресурс с языком Русский в файл был добавлен, но там же
уже существует ресурс с языком Нейтральный, который и будет отображать система!
Другими словами, такие два Респатчера для одного и того же файла не будут совместимы.
Ресурс из второго Респатчера не заменяет ресурс из первого, а добавляет свой.
[hr]
Сохранение изменений в файл ресурсов .RES
Для дальнейшего редактирования\использования сделанных изменений в файле можно использовать формат файлов .RES.
Создать его проще, чем создать Респатчер.
Разница заключается в том, что Респатчер содержит исполняемый модуль, который и пропатчивает (модифицирует) файлы,
но его нельзя изменить! Внести изменения в Респатчер можно только пропатчив соответствующий файл, внести изменения
в него, а потом создать новый Респатчер для этого файла.
Файл .RES содержит только ресурсы и его можно редактировать!
Применить файл ресурсов к соответствующему файлу можно при помощи скрипта для программы ResHacker, или используя
универсальный патчер W7Patcher (http://forum.oszone.net/thread-151734.html) от Mr dUSHA (http://forum.oszone.net/member.php?userid=66512).
Подробнее о применении файлов ресурсов в теме W7Patcher (http://forum.oszone.net/thread-151734.html).
[hr]
Редактирование ресурсов в Windows 7 x64
На платформе х64 редактировать ресурсы непосредственно в папке System32 нельзя!.
Программы Restorator и ResHacker являются 32-битными программами, а 64-битная система устроена таким образом,
что при запуске 32-битной программы все ее запросы перенаправляются в папку SysWOW64!
Как известно, в папке System32 лежат 64-битные файлы, а в SysWOW64 - 32-битные (для совместимости с 32-битными приложениями).
Открывая в Restorator или ResHacker файл из папки System32, вы будете думать, что правите файл именно в папке System32,
но система уже перенаправила запрос редактора в папку SysWOW64! Догадываетесь что будет дальше?
Система 64-битная и для своей работы берет файлы из System32, а вы изменили файлы в SysWOW64!
Сделанных изменений вы не увидите!
Какой выход?
Копируете файл из папки System32 в любую другую не системную папку, там редактируете и сохраняете.
Получаете права на этот файл в System32, переименовываете его (например, в Shell32_original.dll), копируете отредактированный файл
на место переименованного, восстанавливаете права доступа, удаляете папки с кешами (об этом ниже) и перезагружаетесь.
[hr]