![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.06.2007
Сообщений: 3
|
![]()
Всем Привет!!! ПОМОГИТЕ! Попал в тупик, вот код дллки:
Код:
NtCreateFileNextHook: function (FileHandle: PHandle; const DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIoStatusBlock; AllocationSize: PLARGE_INTEGER; FileAttributes, ShareAccess, CreateDisposition, CreateOptions: ULONG; EaBuffer: PVOID; EaLength: ULONG): NTSTATUS; stdcall; А винда такое ощущение что вызывает перехватываемую функцию постоянно, и получается так что ссылка на старую функцию все время перезаписывается на в новь отловленную. При этом если я хочу запустить какой нибуть экзешник или просмотреть текстовик, то вылазиет ошибка чтто, типа не правильно указаны парамметры. Посоветуйте как быть.
http://z.alko-net.ru/ - ZBlog. Блог о программировании и не только.
|
![]() |
![]() |
![]() |
#2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
функция NtOpenFile это оболочка вокруг функции NtCreateFile, она в любом случае вызовет NtCreateFile, перехватывая NtCreateFile ты перехватываешь NtOpenFile.
но проблема кажется не в этом, всё равно сначала убери перехват NtOpenFile потом отпишись прошла ли проблема. проблема кажется в том что твою процедурку SetWindowsHook надо вызывать только один раз, а она в твоём случае будет вызываться каждый раз когда DLL загрузилась в новый процесс. проблему можно решить через Mutex'ы. Последний раз редактировалось rpy3uH; 17.06.2007 в 15:59. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 17.06.2007
Сообщений: 3
|
![]()
Изменил перехват на NtCreateFile, добавил Mutex.
rpy3uH, скажи вот если я функцию NtCreateFile подменл на NtCreateFileHookProc. А в NtCreateFileNextHook сохранил старую, то если я внутри NtCreateFileHookProc вызову NtCreateFileNextHook, то должна выполнится функция того приложения которое ее вызвало или нет.
http://z.alko-net.ru/ - ZBlog. Блог о программировании и не только.
|
![]() |
![]() |
![]() |
#4 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
да, при вызове NtCreateFileNextHook ты вызываешь оригинальную функцию
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Парсер файловой системы FAT32 | svennick | Общие вопросы C/C++ | 4 | 26.03.2008 23:26 |
драйвер виртуальной файловой системы | OrdJONY | Свободное общение | 2 | 29.12.2007 18:06 |
Создание обьектов файловой системы через делфи | BETONOMESHALKA | Общие вопросы Delphi | 2 | 26.12.2007 22:17 |
Перехват API функций | satana | Win Api | 4 | 21.08.2007 20:12 |