Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2010, 11:35   #1
qwerc1
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 10
По умолчанию Перехват CreateFile

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

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

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

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

Подсказки желательно в с++, всмыле я понимаю что апи, делфи, вся фигня, но времени мало, разбираюсь с 0-ля, вобщем вот так=)
qwerc1 вне форума Ответить с цитированием
Старый 16.06.2010, 21:29   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

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

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

Цитата:
Сообщение от qwerc1 Посмотреть сообщение
2)Как сделать глобальную ДЛЛку? Чтоб по всем процессам шарила.
элементарно, надо поместить в неё код создания хука с пустым обработчиком хука типа WH_GETMESSAGE, винда автоматически закинет твою DLL во все процессы (как минимум во все GUI процессы)

Мой совет: есть такая DLL ntdll.dll в ней находится функция NtCreateFile (или ZwCreateFile, без разницы), вот её то и надо перехватывать. к ней обращается функция CreateFileA(W). Один минус: параметров у неё больше и они сложнее.
rpy3uH вне форума Ответить с цитированием
Старый 16.06.2010, 22:39   #3
qwerc1
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 10
По умолчанию

спасибо, попробую.

Последний раз редактировалось rpy3uH; 18.06.2010 в 16:32.
qwerc1 вне форума Ответить с цитированием
Старый 19.06.2010, 01:18   #4
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию

Можно просто CreateFileW перехватывать. Все А функции все равно потом к W обращаются вроде.
Д'якон вне форума Ответить с цитированием
Старый 19.06.2010, 01:42   #5
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Стучите мне в асю помогу
Vikenty вне форума Ответить с цитированием
Старый 25.06.2010, 22:52   #6
qwerc1
Пользователь
 
Регистрация: 15.06.2010
Сообщений: 10
По умолчанию

а через сплайсинг я смогу какнибудь отследить процесс, вызвавший функцию?
qwerc1 вне форума Ответить с цитированием
Старый 29.06.2010, 22:01   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а в чем проблема?
в своей функции-фальшивке определяйте
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CreateFile, Delphi. edmynt Помощь студентам 0 01.06.2010 18:23
Перехват уведомлений из IE LeCrunch Win Api 2 27.05.2010 21:41
Создание Pipe на C# (CreateFile) WinApi Помощь студентам 0 23.12.2009 08:07
После CreateFile не срабатывает DeleteFile Arkuz Общие вопросы Delphi 7 13.03.2009 00:04
CreateFile - считывание дискеты в файл и обратная запись на нее... kalexi Win Api 1 01.10.2007 19:56