Поиск пасхального яйца в Microsoft Bob

Поискпасхальногояйцавmicrosoftbob


Microsoft Bob – это графическая оболочка, которая устанавливалась поверх Windows, чтобы сделать ее более удобной и привлекательной для домашних пользователей. Боб заменил стандартную оболочку Program Manager / Explorer виртуальным домом, состоящим из нескольких комнат (например, гостиной), содержащих объекты, которые представляют приложения (например, стол с ручкой и бумагой будет представлять текстовый процессор). Боб представил анимированных персонажей, которые помогли сделать компьютерный опыт более социальным и дружественным для людей, которые раньше не использовали компьютеры. Он также включал набор приложений для домашней работы, которые помогут вам писать письма, сбалансировать домашний бюджет и создавать списки для упорядочивания вещей.

Макет семейной комнаты Microsoft Bob по умолчанию

Боб не имел большого успеха. Несмотря на шумиху вокруг нового «социального интерфейса», по оценкам, только около 90, 16 копии Bob были проданы. Продукт был вскоре прекращен, но технология анимированных персонажей была интегрирована в Microsoft Office 128 как Офисный помощник. Эта технология также была доступна сторонним разработчикам программного обеспечения как Microsoft Agent , что привело к разработке таких виртуальных помощников, как BonziBUDDY и, ну … в основном просто BonziBUDDY.

Я был удивлен, обнаружив, что в Бобе не было задокументированных пасхальных яиц. Microsoft любила добавлять пасхальные яйца в свои продукты в , поэтому было довольно странно, что у Боба его не было. Я решил отправиться на охоту за яйцами, чтобы посмотреть, что я найду.

Проверка программного обеспечения

Я начал с установки Боба и посмотрел, какие файлы установлены по умолчанию. Боб – 23 – битное приложение, предназначенное для работы поверх Windows 3.1. К сожалению, современные 90 – бит Windows не запускается 16 – битовые исполняемые файлы, если вы не установите замену для NTVDM, например

WineVDM . Я использовал VirtualBox для создания виртуальной машины Windows XP и вместо этого установил в нее Боба. Я мог бы просто распаковать большой CAB-файл на компакт-диске, который содержит все установленные двоичные файлы, но тогда я бы не получил удовольствия от фактического использования Боба.

Некоторые файлы, установленные с Microsoft Bob

Боб состоит из исполняемых файлов для основной оболочки Боба и всех приложений, многие из которых DLL и множество файлов базы данных Microsoft Access. Боб использует Jet Red реляционная база данных для хранения содержимого приложения и пользовательских настроек. Библиотеки DLL, включенные в состав Боба, представляют собой смесь ранних технологии Microsoft – OLE, Jet Red, Multimedia Viewer, WinG, а также множество пользовательских библиотек, которые обеспечивают основу для приложений Боба. Анимированные персонажи хранятся в пользовательском формате файла, который ранее был реконструирован и переопределен в JavaScript в метко названном Robert.js .

Многие приложения Боба написаны на Visual Basic. Это необычный выбор – большая часть мультимедийного программного обеспечения, производимого Microsoft в то время, было написано на C / C ++ или иногда настраиваемые языки . Однако это хорошо для обратного проектирования: ранние версии Visual Basic скомпилировали приложения в байт-код, называемый P-Code, вместо собственного кода. P-Code может быть декомпилирован до более удобочитаемого приближения исходного кода VB. Результат примерно аналогичен декомпиляции исполняемых файлов с помощью Ghidra или Hex-Rays Decompiler – вы можете восстановить поток управления, но по-прежнему теряете много символической информации.

Поиск пасхального яйца

Я начал охоту за пасхальными яйцами бегущие

строки поверх всех файлов, установленных Бобом. Строки – это та часть исполняемого файла, которая читается человеком, поэтому имеет смысл сначала проверить их, прежде чем пытаться дизассемблировать какой-либо код. Я полагал, что у большинства пасхальных яиц продуктов Microsoft обычно есть экран кредитов, поэтому я поискал во всех строках слово «Кредит». Это обнаружило довольно много строк: одно из приложений, связанных с Бобом, – это Bob Financial Guide, приложение для домашних финансов, в котором есть много строк, связанных с кредитными картами. Финансовое приложение также включает в себя набор справочной документации, которая поможет вам управлять своими финансами. Помните, что Боб был освобожден до того, как в большинстве домов были компьютеры с доступом в Интернет, поэтому вы не могли просто погуглить «какой кредитный лимит», как сейчас.

Строки в файле базы данных Microsoft Bob FINANCE.MDB

Одна из строк выглядела довольно интересно: «Кредитный экран», рядом с любопытной фразой «Rover’s Awesome All-Stars». Ровер был именем анимированной собаки по умолчанию в Бобе. Строка была найдена в

FINANCE.MDB , база данных Access для финансового приложения. Я поискал в файле фразу и обнаружил, что она находится рядом с некоторыми другими строками, которые определенно указывают на какой-то экран кредитов: «Разработчики», «Руководители программ», «Тестировщики», «Маркетологи» и «Поддержка».

Я решил открыть базу данных Access, чтобы посмотреть, что там внутри. Современные версии Access отказываются открывать базы данных, созданные в старых версиях, поэтому я очистил старую копию Office 97. Разумеется, база данных содержала таблицу под названием «Rover's Awesome All-Stars», содержащую список людей, которые работали над Microsoft Bob.

Microsoft Access показывает команду продукта Microsoft Bob внутри FINANCE.MDB

Поиск триггера

Я подозревал, что, вероятно, будет способ получить доступ к кредитам изнутри Боба, поэтому я продолжил исследование. Я поискал в исполняемых файлах и библиотеках DLL ссылки на строку «Rover's Awesome All-Stars». Внутри была единственная ссылка NOTEBOOK.EXE , исполняемый файл, содержащий Финансовое руководство Боба.

Обычно в этот момент я открывал Ghidra или IDA, нахожу строку, а затем начните следить за перекрестными ссылками на него. Однако, поскольку исполняемый файл написан на Visual Basic, я решил попробовать декомпилятор VB. Было много ошибок в пользовательских элементах управления VBX, но ему удалось извлечь формы и сгенерировать код VB.

Я обработал вывод декомпилятора для «Rover's Awesome All-Stars» и нашел ссылку в сгенерированном ИМЯ СПИСКА.BAS файл. Один из методов оказался обработчиком события для кнопки под названием «btnNext». Этот метод, по-видимому, обрабатывает запрос у пользователя имени нового списка. В самом начале метода находится код, который проверяет, соответствует ли строка пользователя волшебной строке, и если это так, таблица с тем же именем будет считана из базы данных. Это выглядело как спусковой крючок для пасхального яйца!

Частичная декомпиляция пасхального яйца после некоторой ручной очистки

Итак, после того, как мы не обнаружили в течение примерно лет, вот как вы можете получить доступ к скрытым кредитам в Microsoft Bob :

  1. Откройте Финансовый справочник Боба
  2. Щелкните любой из вариантов
  3. При появлении запроса щелкните вариант создания нового списка
  4. Введите «Rover's Awesome All- Звезды »и нажмите Далее

Вот видео пасхального яйца в действии:

игра в пинбол , имитатор полета или видео-интервью с разработчиками , но все же довольно круто найти его после всего этого времени!

Leave a comment

Your email address will not be published. Required fields are marked *