Перехват удаления файлов в Windows из с++

Тема в разделе "WASM.BEGINNERS", создана пользователем redpinguin, 17 май 2007.

  1. redpinguin

    redpinguin New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    5
    Адрес:
    Russia
    Суть в том что мне нужно перехватить удаление файла... Точнее мне нужно остановить этот процесс на несколько милисикунд для проведения операции с удаляемым файлом после чего файл может смело удаляться... из входных параметров только имя приложения которое собирается провести эту операцию... Натолкните на мысль чего читать и где рыть... за исходнички в которых можно будет порыться буду очень признателен
     
  2. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Читать Шрайбера и Рихтера.
     
  3. redpinguin

    redpinguin New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    5
    Адрес:
    Russia
    из тех котрые есть у меня в наличие только "Создание эффективных WIN32-приложений" Рихтера но в ней я ничего не нашел про удаление файлов... В принципе я понимаю... что либо нужно будет внедрять длл или ставить хук или писать драйвер ... но вот что практичнее в данном случае да и с чем будет проще разобраться вот это вопрос... если можно то напиши название книги где это можно прочитать...
     
  4. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    redpinguin
    Возможно нужно попробовать связку
    FindFirstChangeNotification
    FindNextChangeNotification
    FindCloseChangeNotification
     
  5. redpinguin

    redpinguin New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    5
    Адрес:
    Russia
    И еще хотел в тему спросить как это лучше реализовать... ? т.е писать драйвер или внедрять ДЛЛ или ставить хук... что посоветуете
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Эффективнее всего написать драйвер для перехвата ZwSetFileInformation. Перехват сплайсингом или через хук SDT
    Как вариант, что и более безопасно, перехватывать в пользовательском режиме kernel32.DeleteFile или ntdll.ZwSetFileInformation. Варианты перехвата - сплайсинг или подмена импорта. Предпочтительнее первое