Артефакты прошлого: TabletPC Compaq TC1000 и загадка recovery-дисков
В обычной ситуации о наличии Recovery CD или специализированного раздела на жёстком диске никто не вспоминает. Но если речь идёт о ретрокомпьютинге, то всё меняется. Ведь именно эти способы позволяют восстановить оборудование с программной точки зрения до заводского состояния и взглянуть на то, что видел человек, выложивший несколько тысяч долларов на новенький компьютер в каком-нибудь 2002 году.
Когда я упомянул в прошлой статье драйверы, забыл рассказать об одной интересной особенности. В той же раздаче лежали 3 образа, снятые с оригинальных Recovery-дисков. Скачал их на свой «карман» Zalman с виртуальным приводом и попробовал запуститься с первого диска. Вместо ожидаемого Recovery вылезла странная ошибка USB Drive support is disabled. На тот момент времени разбираться не было, и образы отправились ждать своего часа. Неделю назад мне таки удалось заставить их работать. Подробности — под катом.
Первым под подозрение попал внешний виртуальный привод Zalman ZM-VE500. Это не клон от IODD, а вроде как самостоятельная разработка Zalman. Официально он поддерживает не все операционные системы, так что было решено попробовать запуститься с внешнего USB-привода. Сказано — сделано! Привода, правда, под рукой не было, да и чистых болванок тоже. Так что пришлось слегка поискать и приобрести нужное.
Диск был записан, привод подключён. Compaq начал загружаться с привода, но вместо успешного запуска на экране вновь возникла та же ошибка. Решив, что образ мог каким-либо образом «побиться» при скачивании, заглянул вновь на страницу раздачи, и моё внимание привлёк следующий комментарий:
Reviewer: GrampaGotTheKeys — — February 9, 2021
Subject: Couldn’t get it to work
How do I use the restore CD ISOs?
I burned the ISOs to CDs with ImgBurn,
Selected to boot from the CD,
But it complains 'USB Drive support is disabled',
Can anyone help?
Значит, я не один такой, у кого восстановиться с образа не вышло. Решил попробовать загуглить и обнаружил, что подобная проблема обсуждалась на Google Answers (мир его праху, лишь кэш помнит). Вот только внятного решения не было, лишь предположения.
Нормальные герои всегда идут в обход, так что решил извлечь содержимое каждого из дисков и посмотреть, что внутри. И сразу же меня ждал сюрприз:
Видно, что на оригинальном диске есть некий образ Boot-1.44M.img, который никак не отображается при обычном монтировании штатными средствами Windows 11. И не распаковывается 7-Zip. «Скормил» тот же образ UltraISO — тот сообщил, что всё окей, в образе 78 файлов в двух директориях, а полный размер образа 662 MB. Чудеса да и только!
На тот момент у меня было две версии. Первая — образ диска битый и на него не влез загрузочный образ дискеты. Поэтому загрузка не происходит. Но вторая версия показалась более правдоподобной — создатели Recovery-диска использовали какую-то хитрую методику сокрытия образа для загрузки. Это объясняло, почему виртуальный привод Zalman не смог полностью эмулировать диск, а также почему не удалось запуститься с копии диска.
Внутри диска обнаружились две директории — TOOLS и RESTORE. Подсказкой стала как раз вторая директория, ведь там обнаружился большой файл FACTORY.PQI. Что-то такое я уже видел. Ах да, PQI, сиречь PowerQuest Image. Когда-то давно эта компания выпускала различные утилиты, в том числе и для бэкапа образов жёстких дисков. Ну, а с 2003 года была целиком поглощена конкурирующей Symantec, которая с удовольствием добавила технологии PowerQuest в своё портфолио.
На других дисках в той же директории лежали файлы FACTORY.002 и FACTORY.003. Малый размер третьего диска (всего 100 MB) косвенно указывал на то, что дисков ровно 3, а не больше (как предполагали некоторые комментаторы из 2005 года). Равно как и то, что для успешного восстановления нужно собрать все три части и распаковать соответствующим софтом. Но это в теории. Практика же преподнесла интересный сюрприз.
В старых архивах нашёлся PowerQuest Drive Image версии 7, хотя подошёл бы и более новый Symantec Norton Ghost 12.0, где есть поддержка формата PQI. Когда я попытался начать процедуру восстановления диска, внезапно появилось окно ввода пароля:
По логике вещей, такой пароль должен был быть в документации, но там его не оказалось. На разных форумах, посвящённых COMPAQ, упоминали кучу вариантов: ZZZHIND / ZZWZIZABAC / SMDCONSUMER / MADDOGII013002. Ни один из них не подошёл, и лишь спустя полчаса вдумчивого гугления был найден ответ. Пароль лежит внутри файла PQDPLCTR.RTC. Расширение RTC переводится как RunTime Configuration и представляет собой INI-файл, запакованный в бинарник.
Фактически на диске восстановления есть зашифрованный файл и надёжно спрятанный в недрах бинарника ключик от файла. Когда происходит загрузка, утилита считывает ключик и при помощи него начинает распаковку образа на жёсткий диск. Первой мыслью было открыть этот файлик любым HEX-редактором, но это предсказуемо не дало никакого результата.
Ну раз не получилось красиво, значит пришла пора грубой силы, а именно брутфорса. Утилита для этого прекрасно лежит на GitHub. Зная то, что пароли для дисков COMPAQ не использовали нижний регистр и в целом не были слишком длинными, я попробовал задать длину от 1 до 8 знаков. Спустя 15 секунд получил результат:
C:\PQI>PQdi.exe D:\RESTORE\FACTORY.PQI -bruteforce 1 8 A
PowerQuest Drive Image Password Cracker v1.30
(C)1999-2011 thewd, thewd@hotmail.com
Image File Name : factory.pqi
Search Engine : BruteForce Engine
Search Length : 1 to 8 character(s)
Character Set : Uppercase
Required CRC : 0xDDB3FC48
Recovered Password: 'YNAKMUA'
Найденный пароль система приняла, и приложение успешно расшифровало образ. Разумеется, на этом можно было бы поставить точку, но в таком случае было бы не слишком интересно. Предположим, что у нас нет этого пароля, а восстановиться нужно. Пришло время обратиться к эмулятору.
PCem поможет всем
Впервые я услышал о нём из видео с канала «Уютный подвальчик», уж не сочтите за рекламу. Дескать, есть такой способ эмуляции старых компьютеров, который отлично подходит для ретрогейминга. Справедливо рассудив, что Recovery CD на базе PowerQuest просто распаковывает образ на диск, а вся магия происходит потом, я решил создать маломощную «виртуалку» на базе Pentium Pro и попробовать загрузиться. Чудо произошло:
Далее дело техники — подключил пустой виртуальный HDD на 20 GB и запустил процедуру восстановления:
Утилита дважды просила сменить диск и продолжала свою работу. Медленно, но верно. Спустя 40 минут она закончила копирование и предложила перезагрузить компьютер. На этом моменте я отключил эмулятор. Стало ясно, что теперь у меня есть прекрасный несжатый образ, который можно перенести на физический диск, загрузившись с любого подходящего live-дистрибутива Linux.
Поскольку внутри моего экземпляра Compaq TC1000 установлен VLIW-процессор Transmeta Crusoe TM5800, абы какой образ не заработает. Увы, но там нет PAE, что сильно сужает выбор. Мне помог крошечный, но крутой TinyCore Linux, а также гибридный режим работы Zalman ZM-VE500. Это когда он одновременно работает и жёстким диском, и виртуальным приводом. Одна простая команда, что-то вроде:
$ sudo dd if=/mnt/sdb1/image of=/dev/sda bs=1M
После завершения можно извлекать диски и пробовать загрузиться с HDD. Как я и предполагал, всю магию PowerQuest начинает творить в процессе первого запуска, так что оставалось только ждать. Спустя несколько минут появился долгожданный регистрационный экран Windows XP Tablet PC Edition 2002 SP1. Система сама автоматически устанавливает все драйверы и добавляет красивый логотип COMPAQ на странице свойств системы:
Заключение
Выводов из этого увлекательного дела у меня несколько. Причина, по которой Recovery-диск имел подобную защиту, — наличие внутри OEM-версии Windows XP, которая не требовала ввода каких-либо паролей и могла быть скопирована предприимчивыми пиратами. Они, конечно, и так бы это сделали, но хотя бы видимость защиты нужно было создать.
А вот причина, по которой в полученном образе некорректно работают драйверы на USB-дисковод, мне неизвестна. Могу лишь предполагать, что с родной док-станцией эти диски завелись бы без проблем. Но найти её сейчас достаточно сложно, да и стоить она будет немало. А вот чтобы сделать какой-либо более универсальный вариант восстановления — об этом никто даже и не подумал.
Время бежит, и защита авторских прав подобными средствами начинает серьёзно портить жизнь потребителям. Устройство работает, лицензия на операционную систему была оплачена при покупке, лицензионная наклейка есть. А вот воспользоваться образами дисков для восстановления без дополнительных «танцев с бубном» нельзя.
Сталкивались ли вы с подобными ситуациями? Ждём вас в комментариях!