- PVSM.RU - https://www.pvsm.ru -

Патчим современное приложение для работы под Windows 2000

Если вы думаете, что Windows 2000 умерла, это далеко не так, она прекрасно трудится на старом железе, пусть без патчей безопасности, но в домашней интрасети это простительно. Устаревшая система на устаревшем Pentium-4 что может быть прекрасней? Да и ностальгические чувства зачастую требуют вернуться к старому интерфейсу, чтобы ощутить себя на полтора десятка лет моложе.

Конечно, OS/2 смотрелась бы еще лучше, но c ней большие проблемы с современным софтом. На Windows 2000 проблем тоже хватает. Например, утилита по восстановлению удаленных файлов отказалась работать. Выдает якобы, что исполняемый файл не является приложением Win32. На Windows 7 при этом работает прекрасно.

Патчим современное приложение для работы под Windows 2000 - 1

Чтож, посмотрим что случилось с PE-заголовком exe-файла. На первый взгляд ничего подозрительного. Но после детального анализа и сличения документации [1], выясняется, что слишком большие цифры в параметрах OS Version 5.01 и Subsystem Version 5.01 являются непреодолимым препятствием для запуска нашего файла под Windows 2000.

Патчим современное приложение для работы под Windows 2000 - 2

Исправим на OS Version 1.00 и Subsystem Version 3.10, контрольную сумму установим равную нулю, пропатчим файл.

Патчим современное приложение для работы под Windows 2000 - 3

После этого Windows 2000 начинает запускать файл, проблемы решены.

В заключение приведу побайтовое сравнение внесенных изменений:

Сравнение файлов repair1.exe и REPAIR2.EXE
00000138: 05 01
0000013A: 01 00
00000140: 05 03
00000142: 01 0A
00000150: F0 00
00000151: 38 00
00000152: 0D 00

Автор: kostik450

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/staroe-zhelezo/109216

Ссылки в тексте:

[1] документации: https://msdn.microsoft.com/en-us/library/windows/desktop/ms680547(v=vs.85).aspx

[2] Источник: http://habrahabr.ru/post/275341/