Eugie » 14 фев 2005, 17:13
OpenFile, _lcreat (эта уже совсем древняя). Но есть подозрение, что в современных Windows они реализованы через ту же CreateFile.
ИМХО, проблема в другом: сам метод перехвата API-вызовов через навешивание хука не универсален. Он неявно предполагает, что во внедряемом потоке есть очередь сообщений. Поэтому, например, таким способом нельзя внедриться (и тем более перехватывать вызовы) в консольное приложение.
Есть другие способы, более универсальные (но и более сложные). Например, через CreateRemoteThread, VirtualMemoryRead/Write и перезапись входов в секцию импорта. Советую почитать Дж.Рихтера "Создание эффективных WIN32-приложений", там и примеры кода имеются.
Вот пара ссылок, надеюсь, будут полезны:
http://www.rsdn.ru/article/baseserv/api ... epting.xml
http://clifftown.narod.ru/HDK/HDK2.htm
OpenFile, _lcreat (эта уже совсем древняя). Но есть подозрение, что в современных Windows они реализованы через ту же CreateFile.
ИМХО, проблема в другом: сам метод перехвата API-вызовов через навешивание хука не универсален. Он неявно предполагает, что во внедряемом потоке есть очередь сообщений. Поэтому, например, таким способом нельзя внедриться (и тем более перехватывать вызовы) в консольное приложение.
Есть другие способы, более универсальные (но и более сложные). Например, через CreateRemoteThread, VirtualMemoryRead/Write и перезапись входов в секцию импорта. Советую почитать Дж.Рихтера "Создание эффективных WIN32-приложений", там и примеры кода имеются.
Вот пара ссылок, надеюсь, будут полезны:
[url]http://www.rsdn.ru/article/baseserv/apicallsintercepting.xml[/url]
[url]http://clifftown.narod.ru/HDK/HDK2.htm[/url]