PDA

Просмотр полной версии : Функции API, создающие файлы на диске



Keith
12.02.2005, 04:46
Здравствуйте. Помогите, пожалуйста.
Перехватываю вызовы CreateFileA/W из kernel32.dll у чужой программы, но создание некоторых файлов не перехватывается. Какие еще API-функции могут создавать файлы на винте?

зы Перехват делаю с помощью внедрения своей dll вызовом SetWindowsHookEx() и дальнейшим изменением указателей на нужных функции на мои.

Kolinus
13.02.2005, 00:58
OpenFile
OpenFileEx - (?)

Eugie
14.02.2005, 17:13
OpenFile, _lcreat (эта уже совсем древняя). Но есть подозрение, что в современных Windows они реализованы через ту же CreateFile.

ИМХО, проблема в другом: сам метод перехвата API-вызовов через навешивание хука не универсален. Он неявно предполагает, что во внедряемом потоке есть очередь сообщений. Поэтому, например, таким способом нельзя внедриться (и тем более перехватывать вызовы) в консольное приложение.

Есть другие способы, более универсальные (но и более сложные). Например, через CreateRemoteThread, VirtualMemoryRead/Write и перезапись входов в секцию импорта. Советую почитать Дж.Рихтера "Создание эффективных WIN32-приложений", там и примеры кода имеются.

Вот пара ссылок, надеюсь, будут полезны:
http://www.rsdn.ru/article/baseserv/apicallsintercepting.xml
http://clifftown.narod.ru/HDK/HDK2.htm