Недавно появилась задача, суть которой сводилась, примерно, к следующему: есть программа, которая работает только под семёркой, и есть «волшебный ящик» — БСВ-5, под управлением волшебной, чудесной, великолепной МСВС 3.0 80001-12 (ядро 2.4.32).
Использовать на БСВ семёрку нельзя, переписать софт просто не успеваем — да и не моя задача, откровенно говоря.
Но нужно создать видимость работы до того, как всё заработает на самом деле. Конечно, это не лучшее решение, и использовать его именно под такие задачи я бы не рекомендовал, но как разовый эксперимент — вполне.
Итак, приступаем.
Нам потребуется:
1. Редактор ресурсов — RecHacker или Restorator (рекомендую RecHacker)
2. Клиент RDP для МСВС (rdecktop, собственно)
3. Любой удобный конвертер .bat(cmd) файлов в .exe
Этапы:
- Скачать и установить программу RecHacker или Restorator (рекомендуется RecHacker).
- Перейти в каталог “C:WindowsBrandingBasebrd”
- Сменить владельца каталога на текущего пользователя.
- Дать права пользователю на изменение и удаление файлов (либо полный доступ).
- Открыть RecHacker’ом и отредактировать файл basebrd.dll
- В разделе “Bitmap” удалить все изображения.
- Скомпилировать и сохранить файл.
- Перейти в каталог C:WindowsBrandingBasebrdru-RU (в случае с русскоязычной виндой).
- Произвести манипуляции из пункта 4.
- Открыть RecHacker’ом и отредактировать файл basebrd.dll.mui
- В разделе “Bitmap” удалить все изображения.
- Скомпилировать и сохранить файл.
- Заменить фон рабочего стола на чёрный (лучше — через нарисованный прямоугольник чёрного цвета с параметром “растянуть” или “замостить” в разделе “персонализация” свойств рабочего стола).
- Перейти в каталог C:WindowsSystem32ru-RU
- Сменить владельца каталога на текущего пользователя.
- Дать права пользователю на изменение и удаление файлов (полный доступ).
- Открыть RecHacker’ом и отредактировать файл winlogon.exe.mui, заменив в разделе “string table” разделы 63-1002, 63-1003, 63-1005, 64-1008 с имеющегося текста на удобный вам.
- Перейти в каталог C:Windowsrescache
- Сменить владельца каталога на текущего пользователя.
- Дать права пользователю на изменение и удаление файлов (полный доступ).
- Удалить содержимое папки, но не сам каталог.
- Перезагрузить машину.
- Готово!
Так, теперь можно подключаться к семёрке, и в момент загрузки мы не увидим надпись «Добро пожаловать», поскольку мы заменили её на слово «проверка системы», в нашем случае. Но остался рабочий стол, который выдаёт всю виндовую суть даже неискушенному пользователю. Значит, снова берём изоленту.
Создаём файл с разрешением .bat, с содержанием:
start /wait C:testимя.exe
logoff
Сохраняем его, конвертируем в .exe, сделав приложение невидимым. В частности, я использовал программу Bat_To_Exe_Converter, просто выбрав в опциях «невидимое приложение».
Создаём нового пользователя, под которым и будет работать «киоск».
Входим в систему под ним.
В разделе реестра:
HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWinlogon
правим ключ реестра shell, подменяя стандартный explorer.exe на наш файл.
Практически всё готово. Возвращаемся к МСВС, пишем в консоли:
rdesktop -f -u имя пользователя -p пароль IP-адрес «киоска»
(Можно упаковать эту строку в .sh, создать ярлык на рабочем столе, прикрепить красивую картинку, назвать так, как нужно).
Если всё прошло успешно, на весь экран развернётся сначала стандартный цвет окна семёрки, но без логотипа и с изменённой надписью, а сразу после запустится требуемая программа. А при закрытии её завершится сеанс и вместо финальной надписи «завершение сеанса» наш киоск напишет «доброй дороги и ровных пингов».