Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Пришло время бросить в бой танковые дивизии и
задавить противника техническим преимуществом. Для создания полигона нам
понадобится либо отдельный компьютер с работающей Windows 98, либо система
полной эмуляции с запущенной внутри нее полноценной версией нужной нам
операционной системы. В качестве таких эмулирующих контейнеров можно
использовать VMWare Workstation, Virtual PC или Win4Lin. Я выбрал VMWare как
наиболее привычный для меня инструмент, ну а вы можете использовать любой из
вышеперечисленных вариантов, самый подходящий под ваши вкусовые предпочтения.
Главное, чтобы у нас была нормальная рабочая версия Windows, под управлением
которой мы сможем проинсталлировать все необходимые инструменты. Первым делом
устанавливаем программу Filemon, которая позволяет протоколировать все
обращения к файлам. Затем делаем то же самое с программой Regmon, помогающей
следить за всеми манипуляциями с реестром. Автор обоих вышеописанных
инструментов Mark Russinovich. Они лежат в свободном доступе на сайте:
Пользуясь только что полученными инструментами, мы сможем записать все действия, которые подопытная программа выполняет во время своей установки. А затем повторить их вручную под управлением CrossOver, тем самым освобождая себя от необходимости пользоваться фирменным инсталлятором. Запустив Regmon, должны увидеть на экране похожую картинку.
Как вы могли убедиться, интерфейс приложения прост и интуитивно понятен. При каждом обращении любого процесса к реестру программа записывает время, когда случилось событие, имя процесса, тип действия, ключ реестра, с которым нужно взаимодействовать, код возврата и данные, полученные в результате выполнения действия. Интерфейс утилиты Regmon выглядит точно так же, единственное отличие в том, что он показывает действия, производимые по отношению к файлам.
Обычно в системе работает очень много процессов, занимающихся своими собственными делами, дабы они не мешали нам и не мусорили в протокол, мы должны сузить поле зрения запущенных утилит. Для этого клавишей щелкаем на неугодном процессе и в ниспадающем меню выбираем пункт «Exclude Process». Исключая один процесс за другим, мы должны добиться, чтобы протоколировались только действия процесса, занимающегося инсталляцией. Запустив установку UltraEdit, выбираем, какой тип инсталляции провести.
Затем решаем, какие из компонентов нам действительно необходимы, а от каких можно безболезненно отказаться. После того как установка успешно завершится, на вопрос, нужно ли перезагрузить операционную систему, непременно отвечаем «нет».
Делаем мы так по двум причинам. Во-первых, данные слежения, собранные с помощью Regmon и Filemon, еще не сохранены на жесткий диск. Во-вторых, после перезагрузки состояние системы может сильно измениться, а некоторые файлы могут быть удалены. Хотелось бы как можно точнее имитировать внутри эмулятора всю последовательность событий, происходящих во время установки и перезагрузки.
Сохраняем протоколы работы с файловой системой и ключами реестра в файлы uedit_file_inst.log и uedit_reg_ inst.log. После этого можно посмотреть, что, собственно, в них записалось. Здесь я приведу только краткие выдержки, собранные из наиболее характерных записей.
Содержимое файла uedit_file_inst.log:
64 22:23:01 ???:FFFC5C7B Attributes C:HACKUESETUP.EXE SUCCESS GetAttributes
65 22:23:01 ???:FFFC5C7B Directory C:HACKUESETUP.EXE SUCCESS QUERY
66 22:23:01 ???:FFFC5C7B Open C:HACKUESETUP.EXE SUCCESS OPENEXISTING READONLY DENYWRITE
67 22:23:01 ???:FFFC5C7B Read C:HACKUESETUP.EXE SUCCESS Offset: 0 Length: 64
68 22:23:01 ???:FFFC5C7B Seek C:HACKUESETUP.EXE SUCCESS Beginning Offset: 256 / New offset: 256
……..
112 22:23:01 Uesetup:FFFC5C7B FindOpen C:WINDOWSWIN.INI SUCCESS WIN.INI
113 22:23:01 Uesetup:FFFC5C7B FindClose C:WINDOWSWIN.INI SUCCESS
…….
119 22:23:01 Uesetup:FFFC5C7B Read C:WINDOWSWIN.INI SUCCESS Offset: 0 Length: 7491
120 22:23:01 Uesetup:FFFC5C7B Close C:WINDOWSWIN.INI SUCCESS CLOSE_FINAL
…….
711 22:23:01 Uesetup:FFFC5C7B Write C:WINDOWSTEMP1G27LT8CUNPACK.DLL SUCCESS Offset: 0 Length: 35328