Форум: "WinAPI";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизПерехват NtOpenFile из ntdll Найти похожие ветки
← →
Den MoroZ (2006-09-12 23:46) [0]Помогите! Из юнита Native.pas выдрал функцию:
NtOpenFile: Function(FileHandle: PHANDLE; DesiredAccess: ACCESS_MASK; ObjectAttributes: POBJECT_ATTRIBUTES; IoStatusBlock: PIO_STATUS_BLOCK; ShareAccess: ULONG; OpenOptions: ULONG): NTSTATUS; stdcall;
Подскажите как можно по FileHandle опредилить имя файла и как можно при определённом имени файла запретить доступ к нему?
(Пишу систему защиты данных)
← →
Ketmar © (2006-09-13 00:00) [1]правильно -- через драйвер. копать в направлении ObReferenceObjectByHandle()/ObQueryNameString(). сразу говорю -- если драйвера не писал -- забудь. возьми готовый из того же hxdef, например.
← →
Чапаев © (2006-09-13 07:35) [2]NtQueryInformationFile()?
← →
Elen © (2006-09-13 08:29) [3]
> Ketmar ©
А служба не подойдет? И кстати подскажи ссылочки где можно много почитать о написании дров на Делфи
← →
Lamer@fools.ua © (2006-09-13 09:00) [4]Написание драйверов на Delphi — это то же, что ректальный способ удаления гланд.
← →
Elen © (2006-09-13 09:05) [5]
> Lamer@fools.ua ©
И все таки... Не верю что на Делфе это нельзя
← →
Lamer@fools.ua © (2006-09-13 09:32) [6]>>Elen © (13.09.06 09:05) [5]
>Не верю что на Делфе это нельзя
Вера — это сложно. Тут ничего возразить нельзя. Если же опираться не на веру, а на здравый смысл :-), то вопрос: смысл писАть на Delphi, если:
* нужно использовать определённую старую версию Delphi (по-моему, вторую), чтобы получать OBJ-файлы совместимые с линкером от Microsoft, которые умеет линковать файлы необходимого для драйверов формата;
* нужно использовать сам этот линкер от MS;
* нужно руками переводить хедеры (*.h) из DDK из С/С++ в Object Pascal (хотя, возможно, у джедаев кое-что есть...)?
← →
Elen © (2006-09-13 09:35) [7]
> Lamer@fools.ua ©
Ну а как насчет служб?
← →
kami © (2006-09-13 10:26) [8]На WASM.ru были статьи от MS-REM по поводу перехвата WinAPI. Для примера там рассматривался как раз доступ к файлам. Только вот бралась не NTOpenFile, а ZwQueryDirectoryFile из ntdll.dll, которая вроде(не помню, давно читал) является базовой по отношению ко всем ф-ям работы с файлами.
← →
Ketmar © (2006-09-13 13:53) [9]> [2] Чапаев © (13.09.06 07:35)
ZwQueryObject(). но оно криво работает для "чужих" процессов. впрочем, для файлов может и будет всё нормально.
> [3] Elen © (13.09.06 08:29)
см. выше. и -- не надо писать драйвера на Delphi. проблем больше, нежели удобств. хотя, если сильно охота помучиться -- HolyFather сделал dddk. %-)
← →
Elen © (2006-09-13 14:27) [10]
> Ketmar ©
Яснышко. So Sorrow
← →
Игорь Шевченко © (2006-09-13 16:41) [11]
> Подскажите как можно по FileHandle опредилить имя файла
NtQueryObject (...., ObjectNameInformation, ...)
← →
Ketmar © (2006-09-13 17:36) [12]> [11] Игорь Шевченко © (13.09.06 16:41)
ну да. что Zw, что Nt -- один фиг, в принципе (да, я в курсе реальной формы Земли %-).
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c