Информация об изменениях

Сообщение FS Minifilter. Как сделать подсчет хеша файла от 10.01.2018 15:12

Изменено 10.01.2018 15:16 sergey77666

FS Minifilter. Как сделать подсчет хеша файла
А именно не того файла, с которым работают — а того исполняемого, который работает. Его контрольную сумму на данный момент.

Придумал такое решение:
— в каллбеке фильтра информация (включая путь к этому exe) не добавляется сразу в глобальную очередь записи в лог, а создается новый поток и она передается в него
— этот поток пытается открыть файл и посчитать MD5, результат добавляет в глобальную очередь
— поток логирования, как и сейчас, каждые N времени проверяет, не пуста ли очередь, если полна — создает файл лога и пишет ее всю
FS Minifilter. Как сделать подсчет хеша файла
А именно не того файла, с которым работают — а того исполняемого, который работает. Его контрольную сумму на данный момент.

Придумал такое решение:
— в каллбеке фильтра информация (включая путь к этому exe) не добавляется сразу в глобальную очередь записи в лог, а создается новый поток и она передается в него
— этот поток пытается открыть файл и посчитать MD5, результат добавляет в глобальную очередь
— поток логирования, как и сейчас, каждые N времени проверяет, не пуста ли очередь, если полна — создает файл лога и пишет ее всю

Но есть вопросы:
— насчет открывания файлов, насколько будет велик шанс, что он сможет открыть EXE-файл, который, скорее всего, сейчас выполняется?
— сможет ли он открывать его так, чтобы гарантированно не повредить ему этим (если тот читает себя самого — SFX, например)?
— нету ли все-таки какого-то более готового способа получить хоть какой-то хеш EXE-файла? Который не только лежит на диске как файл, но и загружается как процесс.