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

32

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

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

user1632018
источник
Вы можете отслеживать изменения реестра в Windows 7, но это зависит от конкретной используемой версии.
Доктор Рейхард

Ответы:

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

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

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

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

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

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

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

    Особенно Резюме файла и Резюме реестра могут представлять интерес в этом контексте.

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

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

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

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

Der Hochstapler
источник
Привет Оливер, спасибо за подробный урок. Я очень ценю это. Я просто удаляю программное обеспечение и попробую его сразу после переустановки. Я буду держать вас в курсе, как хорошо это работает для меня.
user1632018
Вау, этот ответ ставит мой позор. +1 для вас!
MonkeyZeus
Я в конечном итоге принял этот подход. Это сработало отлично, когда я освоился. Я понял, что лучше установить фильтры заранее, иначе потребуется очень много времени, чтобы отфильтровать объекты в списке.
user1632018
@ user1632018: Если у вас есть набор фильтров, которые он работает для вас, вы также можете включить опцию Отбрасывать отфильтрованные события из меню Фильтр . Тогда отфильтрованные события даже не сохраняются.
Der Hochstapler
9

Я думаю, что вы можете искать что-то вроде Total Uninstall

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

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

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

MonkeyZeus
источник
Ответы только для ссылок плохо подходят для SU. Пожалуйста, предоставьте несколько подробное объяснение о том, как работает программа и как она решает проблему ОП.
Доктор Рейхард
Это похоже на хороший софт, но я склонялся к свободному подходу. Это выглядит многообещающе как деинсталлятор. Некоторое время назад я искал деинсталлятор, который использовал этот подход. Я закончил с Revo Uninstaller, потому что не смог найти. Revo просто ищет ключи и файлы, содержащие имя в них. Что не всегда точно и может удалить важные ключи реестра, если пользователь неосторожен. Так что спасибо вам за это. Если мне надоест revo, я, вероятно, куплю этот деинсталлятор. Для этого использования, хотя я иду с подходом монитора процесса.
user1632018
Удачи! Конечно, дайте нам знать, как оно идет.
MonkeyZeus
7
  1. Экспортируйте весь реестр перед установкой
  2. Экспорт всего реестра после установки

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

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

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

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

Еще одна вещь, которую вы можете сделать, это загрузить «Sysinternals Process Monitor». Затем вы можете отфильтровать операции, выполненные установщиком. Вы даже можете отфильтровать все операции, которые хотите увидеть (RegWrite, RegQueryValue и т. Д.), И сохранить запись для последующего просмотра.

программное обеспечение это весело
источник
Я пытаюсь подходить к процессу мониторинга, как мы говорим. Я дам вам знать, будет ли это хорошо для меня.
user1632018
Вероятность того, что другая программа изменит реестр в это время, слишком высока, чтобы этот подход был разумным
developerbmw
1

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

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

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

Synetech
источник
+1 для InCtrl5. Очень удобный способ сделать это.
Ryan_S
0

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

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

Zeeshan
источник