Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Сжатые файлы и ModifyPE

Текущий рейтинг: 4.03 (проголосовало 92)
 Посетителей: 40390 | Просмотров: 53235 (сегодня 0)  Шрифт: - +

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

Expand распаковывает сжатые файлы, восстанавливая их оригинальную форму.

Makecab перепакует измененные файлы или любые файлы, которые вы заходите добавить в дистрибутив. При этом расширение файлов изменится соответствующим образом (например, с *.dll на *.dl_). Кроме того makecab сжимает файлы, уменьшая их размер.

Утилита ModifyPE исправит контрольную сумму модифицированных файлов и предотвратит ошибку "File was not copied correctly" во время инсталляции системы.

Если работа с командной строкой для вас не в новинку, то можете пропустить следующий параграф и перейти к непосредственно сути статьи.

Expand | Makecab | ModifyPE

Отступление о работе с командной строкой

Мы будем работать с командной строкой. Если запускать ее обычным методом (Пуск | Выполнить | cmd), то придется в ней печатать полный путь к директории, в которой расположены модифицируемые или упаковываемые файлы. В файловых менеджерах FAR и TotalCommander встроенная командная строка вызывается из текущей директории, избавляя пользователя от необходимости печатать пути к файлам. Если же вы пользуетесь Проводником, то можно добавить вызов командной строки в контекстное меню папки. Достаточно скопировать приведенный ниже текст в Блокнот, сохранить файл с любым именем, но расширением *.REG и запустить. В контекстном меню папки появится опция "Command Prompt".

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Command Prompt]
@="Открыть консоль"

[HKEY_CLASSES_ROOT\Directory\shell\Command Prompt\command]
@="cmd /k pushd %L"

[HKEY_CLASSES_ROOT\Drive\shell\Command Prompt]
@="Открыть консоль"

[HKEY_CLASSES_ROOT\Drive\shell\Command Prompt\command]
@="cmd /k pushd %L"

Если вы хотите назвать опцию иначе, то замените везде "Command Prompt" на ваше название.

Expand

Expand - стандартная команда Windows XP. Запустите командную строку и перейдите к папке, в которой расположен упакованный файл. Введите команду

expand.exe -r filename.xxx

где filename.xxx - имя вашего файла. В примере на скриншоте распаковывается файл C:\winntbbu.dl_.

Expand

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

Makecab

Makecab, как и makecab, является стандартной командой Windows XP. Запустите командную строку и перейдите к папке, в которой расположен файл, который вы хотите упаковать. Введите команду

makecab.exe filename.xxx

где filename.xxx - имя вашего файла. В примере на скриншоте упаковывается файл C:\winntbbu.dll.

Makecab

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

ModifyPE

Если вы измените системный файл при помощи редактора ресурсов типа ResEdit или Resource Hacker, и включите его в дистрибутив, то во время инсталляции системы неизбежно получите ошибку копирования. Программа установки Windows проверяет контрольную сумму всех копируемых файлов, и в случае несовпадения отказывается копировать. Утилита ModifyPE корректирует контрольную сумму, и как следствие файл воспринимается как родной.

Несмотря на то, что программа установки Windows допустит копирование файла, по окончании установки в файл setuperr.log вносится запись о том, что файл не имеет цифровой подписи Microsoft. Возможна ситуация, когда при проверке целостности файлов Windows захочет восстановить оригинальный файл. Отключить проверку системных файлов можно при помощи nLite.

Для начала скачайте ModifyPE отсюда. Теперь встает вопрос, куда распаковать исполняемый файл из архива. Можно куда угодно, но рекомендую в директорию %windir%\System32, тогда не надо будет указывать путь к утилите при работе с командной строкой.

Работать с утилитой просто. Запустите командную строку и перейдите к папке, в которой расположен модифицируемый файл. Введите команду

modifype.exe filename.xxx -c

где filename.xxx - имя вашего файла. В примере на скриншоте модифицируется файл C:\winntbbu.dll.

modifype

Если вы все сделали правильно, то вы увидите такое же сообщение, как на скриншоте.

Автор: Вадим Стеркин  •  Иcточник: (переведено с английского) unattended.msfn.org  •  Опубликована: 05.03.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   CMD.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.