3

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

Это возможно?

2 ответа2

2

Как я узнаю, что изменится на моем компьютере с Windows перед запуском программы?

Я хочу увидеть изменения в реестре, которые будут действовать, какие файлы будут изменены, какие новые файлы будут добавлены и т.д.

Это невозможно:

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

  • Существует бесконечное количество возможных входных данных (рассмотрим только простой случай ввода случайных символов в текстовый файл, миллионы возможных комбинаций).

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

Лучшее, что вы можете сделать, - это запустить программу (возможно, в песочнице) и следить за изменениями по мере их возникновения.

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


От Nirsoft:

FolderChangesView - это простой инструмент, который отслеживает выбранную папку или диск и отображает каждое имя файла, которое изменяется, создается или удаляется во время мониторинга папки.

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

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


Из SystemInternals:

Process Monitor - это расширенный инструмент мониторинга для Windows, который в режиме реального времени показывает файловую систему, реестр и активность процессов / потоков.

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

Process Explorer показывает информацию о том, какие дескрипторы и DLL-процессы открыты или загружены.

Дисплей Process Explorer состоит из двух вложенных окон. В верхнем окне всегда отображается список текущих активных процессов, включая имена их учетных записей, а информация, отображаемая в нижнем окне, зависит от режима, в котором находится Process Explorer: если он находится в режиме дескриптора, вы увидите обрабатывает, что процесс, выбранный в верхнем окне, открыт; если Process Explorer находится в режиме DLL, вы увидите DLL и отображенные в памяти файлы, загруженные процессом.


отказ

Я никоим образом не связан с Nirsoft или SystemInternals , я всего лишь конечный пользователь их программного обеспечения.

1

Я нашел возможный путь.

  1. Настройте виртуальную машину Windows.
  2. Установите "Монитор процесса" на нем.
  3. Выполнить exe
  4. Поиск PID процесса из exe
  5. Фильтр для PID этого процесса в "Process Monitor"
  6. Смотрите изменения в прямом эфире

Это не лучшее решение, но начало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .