Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перехват CreateFile

18K
16 июня 2010 года
fghaq
5 / / 16.06.2010
Всем, привет. Мне нужно перехватить CreateFile(видимо A,W), но не нужно вставлять на его место функцию заместителя, по сути мне нужна только лишь регистрация.

1)Как сделать без сплайсинга, таблиц импорта и т.п.??? Есть какое системное сообщение типа МАУСБАТТОНДАУН( =) ), которое можно было бы перехватить с помощью обычных хуков??

Или лучше подменить код оригинального креэйтфайла в user32(или kernel32????), сделать все, потом вернуться обратно к нему? Но этоже ппц товарисчи=)

2)Как сделать глобальную ДЛЛку? Чтоб по всем процессам шарила.

Подсказки желательно в с++, всмыле я понимаю что апи, делфи, вся фигня, но времени мало, разбираюсь с 0-ля, вобщем вот так=)
14
16 июня 2010 года
Phodopus
3.3K / / 19.06.2008
1. Есть фильтрующие драйвера
2. А зачем?
18K
16 июня 2010 года
fghaq
5 / / 16.06.2010
1) ну этот драйвер по видимому мне самому писать. Нет желания использовать Native, его zwCreate, Open и т.д.

Как эти драйвера работают?

2) Мне нужно следить за всей системой. Т.е. я запускаю приложение которое отслеживает вызов CreateFile. И как я понял глобально это делается только через драйвер файловой системы или длл-ку.

Мне нужен как раз 2 вариант. Как сделать чтобы она инспектировала и следила за всеми потоками в системе?

Под всеми подразумеваю примитивные вызовы именно CreateFile, без заморочек. Мне пофиг на приложения котррые создают, открывают файлы другими способами.

И всеже, неуели нет события откр/созд файла чтоб оформить всеэто простыми хуками???
14
16 июня 2010 года
Phodopus
3.3K / / 19.06.2008
Цитата: fghaq
этот драйвер по видимому мне самому писать


понятное дело

Цитата: fghaq

Как эти драйвера работают?


ну так и работают - принимают запросы, отклоняют запросы, перенаправляют запросы, изменяют запросы.

Цитата: fghaq
глобально это делается только через драйвер файловой системы или длл-ку.


драйвер-фильтр

Цитата: fghaq

Как сделать чтобы она инспектировала и следила за всеми потоками в системе?


как делать это через dll я могу представить, но делать бы так не стал и поэтому ответить не смогу.

Цитата: fghaq

И всеже, неуели нет события откр/созд файла чтоб оформить всеэто простыми хуками???


"простыми" хуками (SWH) - нет

399
16 июня 2010 года
KIV
432 / / 20.01.2009
За мышью - обычными хуками. SetWindowsHookEx. За CreateFile - либо написать драйвер фильтр (очень сложно), либо опять же установив хук подключиться ко всем процесса в системе (это проще, чем перехватывать CreateProcess и загружать свою DLL в адресное пространство другого процесса самому), но без таблиц импорта или сплайсинга всё же не обойтись. Но это немного проще, чем драйвер фильтр. Особенно отлаживать проще (в драйвере одна ошибка и BSOD, а в такой программе чего чего, а BSOD не будет. хотя если учесть, что мы много чего перехватим, то всё равно при некорректном освобождении ресурсов система может и рухнуть).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог