Товарищи, нужна помощь, некий ликбез. Доля моей дипломной работы заключается в разработке анализатора поведения исполняемых файлов PE-формата. Существует (знакомая всем) программа ProcMon, которая показывает активность (со всеми путями обращения к реестру, путями создания файлов и т.п.). Как вытащить импортируемые WinAPI функции понятное дело. А как ProcMon получает пути в файловой системе и реестре мне не совсем понятно. Например, как можно отследить по какому пути процесс пытается подгрузить *.dll. Хотелось бы услышать Ваши наставления в какую сторону копать. Перехват WinAPI процесса или как-то еще?
Путь к файлу из хендла получается через CreateFileMapping+MapViewOfFile+GetMappedFileName, с путем к длл еще проще GetModuleFileName, а ищет их наверное по путям, описанным в переменной окружения PATH.
Ну. Только я бы перехватывал NtCreateFile и хранил имена для открытых хендлов, убирал бы при закрытии. О - оптимизация.
guessWh0_o, мне кажется, вам стоит прочитать стр. 444 по 452 в книжке под название "Вскрытие покажет, практический анализ вредоносного по". Чтение может подарить идею.