Существует ли способ увидеть все файлы и записи реестра, которые устанавливает приложение?

Вопрос или проблема

Я пытаюсь выяснить, есть ли способ установить приложение в “песочницу”, чтобы легко увидеть все созданные им файлы и все добавленные записи реестра, не ища файлы по всему компьютеру.

Это не обязательно должна быть песочница, главное, чтобы можно было увидеть всё, что сделал установщик. Наверняка существует что-то подобное. Я знаю, что мой антивирус сообщает мне, когда он обращается к определённым файлам и папкам, но я ищу более точный подход, который бы записывал всё для последующего анализа.

  1. Скачайте, разархивируйте и запустите Process Monitor.

  2. Запустите ваш установщик. Для этого примера я использую FileZilla.

    введите описание изображения здесь

  3. Пока установщик работает, вы можете использовать крестик и перетащить его на окно установщика. Это создаст фильтр, который покажет в Process Monitor только события, связанные с этим процессом.

    введите описание изображения здесь

    Вы также можете дождаться окончания установки и выбрать процесс из записанных событий самостоятельно. Вы можете щелкнуть правой кнопкой по Имя процесса и легко создать фильтр Включить.

  4. Теперь у вас будет журнал всех операций доступа к файловой системе или реестру установщика. Вы можете создать дополнительные фильтры для дальнейшего анализа данных или использовать функции, доступные в меню Инструменты.

    Особенно интересно в этом контексте могут оказаться File Summary и Registry Summary.

    введите описание изображения здесь

Однако, обратите внимание, что при фильтрации событий только для определенного процесса, вы можете пропустить операции, которые не вызваны прямо самим процессом установщика. Установщик может вызвать некоторые API Windows, которые косвенно вызывают изменения в реестре.

Подобным образом, установщик может просто породить дочерний процесс, который вносит изменения в файлы и/или реестр. Этот дочерний процесс также не будет виден, если фильтр только для родительского процесса.

Когда процесс порождает дочерний процесс, это будет указано операцией Process Create в Process Monitor.

Я думаю, вы ищете что-то вроде Total Uninstall

Это программное обеспечение нужно установить до приложения, которое вы хотели бы отслеживать.

Оно ведет журнал всех записей реестра и файлов, созданных и изменённых.

Оно предоставляет графический интерфейс для навигации по только что установленным и отслеживаемым программам.

  1. Экспортируйте весь реестр перед установкой
  2. Экспортируйте весь реестр после установки

Используйте сравнение файлов, чтобы узнать различия между двумя версиями реестра.

http://support.microsoft.com/kb/171780

Вы можете скачать программное обеспечение, чтобы оно сделало это за вас (см. ниже)

http://www.aplusfreeware.com/categories/util/registry.html

Другой вариант — скачать “Sysinternals Process Monitor”. Тогда вы сможете отфильтровать операции, выполненные установщиком. Вы даже можете отфильтровать все, что хотите увидеть (RegWrite, RegQueryValue и т. д.) и сохранить захват для последующего просмотра.

Более дружелюбный для пользователя способ, чем ProcessMonitor, — использовать непосредственно программу мониторинга установок. Та, которую я всегда использовал и предпочитал, — это InCtrl5 от PCMagazine. Она раньше была бесплатной, и хотя несколько лет назад они начали взимать плату за свои утилиты, вы все еще можете найти копию у кого-то, кто скачал её, пока она была бесплатной, и имел бесплатную лицензию. Они также обновили её до версии InCtrlX, которая, предположительно, лучше, но не бесплатна.

Еще одна, которая мне нравится, — это ZSoft Uninstaller. Из десятков таких программ, что я тестировал, она была второй после InCtrl5. Она также бесплатна.

Эти программы работают, делая снимок реестра и файловой системы до и после установки, а затем проводят сравнение, чтобы выяснить, что изменилось (добавлено, удалено, модифицировано). В отличие от таких программ как ProcessMonitor, которые просто отслеживают доступ к системе, они фильтруют фактические изменения в системе, и лучшие из них даже устраняют ложные срабатывания, такие как временные файлы и изменения, инициированные ОС.

Вы можете использовать VMware ThinApp для установки приложения в “песочницу”. Она записывает и виртуализирует ваше приложение в отдельной папке, где вы можете отслеживать все его содержимое. Вот ссылка:

http://www.vmware.com/products/thinapp/

Возможно, если установщик экспортирует ключи непосредственно в реестр, это может быть зафиксировано с помощью RegFromApp (x86) или (x64), запущенного от имени администратора, но, как правило, установщики вызывают другие установщики и поэтому это не часто срабатывает.

Если это не работает, Total Uninstall Professional — лучший вариант, но платный, а Zsoft Uninstaller бесплатен, но добавляет дополнительные сложности.

Важно заметить, HKEY_ROOT не является независимой сущностью реестра, а является комбинацией части локальной машины и текущего пользователя. Таким образом, достаточно получить данные для Local Machine и Current User. Программы, которые отстают от времени, такие как sysTracer, этого не знают, но программы, следящие за временем, такие как Total Uninstall или Zsoft Uninstaller, знают это.

Для простоты предположим, что у вас есть Total Uninstall Professional. Вы делаете снимок до установки и после установки. Вы можете экспортировать записи реестра локальной машины. Но записи текущего пользователя вместо этого форматируются как записи HKey-Users и вам потребуется их некоторое переоформление (в стиле “найти/заменить”). Например, вы заменяете:

HKEY_USERS\S-1-5-21-2940598271-2218309987-103824483- 
1001\SOFTWARE\FileConverter

на

HKEY_CURRENT_USER\SOFTWARE\FileConverter

Причина этого в том, чтобы сделать файл реестра совместимым со всеми машинами. S-1-5-21-2940598271-2218309987-103824483-1001; это относится к конкретной машине. Хотя вы не можете оставить неконвертированную запись для конкретной системы, указанной выше, вы можете оставить ту, которая ссылается на S-1-5-18; что является специальным ключом.

Процесс аналогичен, но более сложен с Zsoft Uninstaller, поскольку он не экспортирует файлы реестра, и самое лучшее, что вы можете сделать, это конвертировать их файл Show Recorded Info для работы с: regexport (который должен экспортировать целые ключи, в то время как записи реестра часто ссылаются на конкретные данные внутри ключа).

Ответ или решение

Если вы хотите установить приложение таким образом, чтобы видеть все файлы и записи в реестре, которые оно создает, лучший подход заключается в использовании инструментов мониторинга и специальных программ для анализа изменений на вашем компьютере. Вот несколько методов, которые вы можете использовать:

Установка в песочнице или изолированной среде

  1. VMware ThinApp: Этот инструмент позволяет установить приложение в изолированной среде, создавая виртуальную папку с полным содержимым приложения. Это позволяет детально просматривать изменения, произведенные приложением.

Программы для мониторинга и анализа изменений

  1. Process Monitor от Sysinternals: Этот мощный инструмент позволяет отслеживать все файлы и доступ к реестру, осуществляемый процессом установки. Вы можете задать фильтры для конкретного процесса и позднее анализировать полученные данные через функции, такие как File Summary и Registry Summary.

  2. Total Uninstall: Это программное обеспечение ведет журнал всех изменений в реестре и файловой системе, созданных и измененных во время установки приложения. Оно также предоставляет удобный пользовательский интерфейс для навигации по установленным и отслеживаемым программам.

  3. ZSoft Uninstaller: Бесплатная альтернатива, которая делает снимки реестра и файловой системы до и после установки, чтобы выявить изменения. Этот инструмент особенно полезен для фильтрации ложных результатов, таких как временные файлы или изменения, инициированные операционной системой.

Ручной метод

  1. Экспорт реестра: Этот метод включает в себя экспорт всего реестра до и после установки приложения. Различия между этими двумя экспортами можно анализировать с помощью программ для сравнения файлов.

Специфические решения

  1. InCtrl5 и InCtrlX от PC Magazine: Эти программы делают снимки реестра и файловой системы до и после установки и сравнивают их. Они более удобны в использовании по сравнению с инструментами, которые просто отслеживают системные доступы.

Заключение

На основании целей вашей задачи, выбор одного из вышеуказанных методов позволит вам детально проанализировать, какие изменения вносятся приложением в файловую систему и реестр во время установки. Однако, следует отметить, что при фильтрации событий конкретного процесса вы можете упустить операции, неосуществленные напрямую самим процессом установщика. Разумно воспользоваться несколькими подходами для более полного анализа.

Используйте предложенные инструменты в зависимости от ваших нужд и бюджета, чтобы получить наиболее полное представление об изменениях, вносимых установщиком приложения.

Оцените материал
Добавить комментарий

Капча загружается...