Сведения о вопросе

Ислам

04:29, 25th August, 2020

Теги

c++   windows   api   logfiles    

Любые windows API для получения дескрипторов файлов, кроме createfile и openfile?

Просмотров: 447   Ответов: 3

Я пытаюсь шпионить за файлом журнала, в который записывается приложение.

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

Я не являюсь опытным программистом windows/c++ (или даже опытным программистом), поэтому мои первоначальные две мысли были либо о том, что приложение вызывает createfile, прежде чем я подключу API, либо о том, что есть какой-то другой api для создания файлов/получения дескрипторов для них.

Редактировать: Спасибо за два замечательных ответа. Я бы поддержал ответ codingthewheel, так как он был информативным, но у меня недостаточно репутации :(



  Сведения об ответе

LAST

17:04, 21st August, 2020

Вы можете использовать Sysinternal FileMon . Это отличный монитор, который может точно сказать вам, какие системные вызовы, связанные с файлами, выполняются сделаны и какие есть параметры.

Я думаю, что такой подход гораздо проще, чем подсоединение API звонков и гораздо менее навязчив.


  Сведения об ответе

dumai

19:13, 28th August, 2020

Вот ссылка, которая может быть полезной:

Партизанский мониторинг файлов с C# и C++

Можно создать файл, не касаясь CreateFile API, но могу ли я спросить, какой метод инъекции DLL вы используете ? Если вы используете что-то вроде Windows хуков, ваш DLL будет установлен только после инициализации целевого приложения, и вы пропустите ранние вызовы CreateFile. В то же время, если вы используете что-то вроде DetourCreateProcessWithDll, ваш крючок CreateFile может быть установлен до запуска любого кода запуска приложения.

По моему опыту 99.9% созданных / открытых файлов приводят к вызову CreateFile, включая файлы, открытые через C и C++ libs, сторонние libs и т. д. Возможно, есть некоторые недокументированные функции DDK, которые не проходят через CreateFile, но для обычного файла журнала я в этом сомневаюсь.


  Сведения об ответе

ASSembler

08:18, 20th August, 2020

Монитор процессов от sysinternals тоже может помочь.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться