Описание тега dynamic-analysis

Динамический анализ извлекает информацию о программах, выполняя их на реальном или виртуальном процессоре.

Динамический анализ - это метод извлечения информации о программах или данных, которые они обрабатывают, путем сбора критических данных во время выполнения программы. Это может преодолеть проблему статического анализа, который часто бывает слишком консервативным (" может произойти какое-то событие E "), предоставляя доказательства того, что некоторые конкретные события (например, E) действительно произошли.

Первый вопрос - решить, какую информацию собирать.

Сложная проблема заключается в том, как вставить зонды для сбора данных в исполняемый код:

  • скрыть инструментарий в библиотеках времени выполнения или ОС, используемой программой
  • исправить объектный код
  • перехватить интересующие кодовые страницы и смоделировать критическую часть
  • моделировать выполнение всей программы и собирать данные по мере необходимости
  • изменить исходный код, чтобы вставить инструментарий

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