При изучении вредоносных программ динамического анализа в изолированных системах-песочницах в большинстве случаев достаточно для того, чтобы выявить природу той или иной угрозы и на основе полученной информации пополнить вирусную базу антивируса. Однако иногда в вирусную лабораторию попадают образцы, требующие глубокого понимания непосредственного алгоритма их работы. И тогда без статического анализа уже не обойтись. Например, для бэкдоров может понадобиться разбор протокола общения с C&C-сервером или алгоритма генерации доменных имен. А при анализе шифровальщиков необходимо выяснять, каким алгоритмом и какими ключами шифровались файлы. При этом часто такие троянские приложения запакованы или обфусцированы, и потому статический анализ может быть осложнен. Пример разбора такой сложной угрозы мы сегодня и рассмотрим.
Итак, перед нами некая вредоносная программа для платформы Windows. Первым делом загрузим ее в IDA Pro Disassembler и попытаемся выполнить автоанализ. Как ни странно, это нам не удается, поскольку тот спотыкается уже в самом начале — на функции Main. Это значит, что для разбора образца нам потребуется приложить определенные усилия.