Загрузить свою dll в explorer.exe

Тема в разделе "WASM.X64", создана пользователем who_know777, 8 апр 2021.

  1. who_know777

    who_know777 Member

    Публикаций:
    2
    Регистрация:
    29 мар 2021
    Сообщения:
    89
    Адрес:
            
    Доброго времени суток!

    Хочу сделать в своем приложении мониторинг файловой системы.
    Т.е. из юзермода в процессе explorer.exe перехватить MoveFileExW и DeleteFileW из shell32.dll.

    Изначально планировал подгрузить свою dll через ключ реестра AppInit_DLLs.
    Т.е. добавить свою длл в AppInit_DLLs, изменить значение LoadAppInit_DLLs в 1, и убрать RequireSignedAppInit_DLLs.

    Кажется, этот способ не работает в Windows 7.

    В общем проблема, как загрузить свою dll в explorer.exe.

    Поскажите пожалуйста способы.

    Если палится антивирусами, пофиг. Главное чтобы работало.
     
  2. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Если задача подгрузить .dll в explorer, можно попробовать расширения explorer.
    Для мониторинга файловой активности существуют специальные API: тыц и тыц. API эти никогда не были особо надежны (тем не менее кмк это лучше чем что-то перехватывать в shell32), по-хорошему файлы должны мониториться другим способом.
    Раньше это делалось файловыми фильтрами.
    Сейчас возможно стоит попробовать трассировку событий.
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    ETW вроде требует прав админа, или можно от обычного юзера?
     
  4. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    956
  5. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    :scratch_one-s_head:
    Про права вроде в условии задачи ничего не сказано.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Да не, мне просто интересно, с ETW можно много интересного достать, вопрос в том, можно ли это сделать из под пользователя.
     
  7. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    Вроде надо быть elevated (или там system), а вообще точно не знаю, врать не буду.
     
  8. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    956
    теоретически - надо ковырять тех, кто делает RevertToSelf()