Проблемы с обработчиком NtQueryDirectoryFile

Тема в разделе "WASM.WIN32", создана пользователем Stub, 22 мар 2005.

  1. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    Все нормально вроде, ф-ция перехватывается, но обработчик работает неправильно :dntknw:( - у меня исчезает содержимое всей директории и т.д., plz направьте куда надо... код обработчика в аттаче.

    [​IMG] 1144877028__ntqdf.txt
     
  2. unixoid

    unixoid New Member

    Публикаций:
    0
    Регистрация:
    2 мар 2005
    Сообщения:
    31
    Адрес:
    Ukraine
    Х3, твой исходник скачал, но не смотрел...Времени мало..

    Мне кажется,что твоя бадяга всегда -1 возвращает...Потому и файлов 0..

    Вобще в обработчике ничего заумного нету,просто пересмотри внимательно код,провари в голове весь процесс..

    Принцип работы NtQueryDirectoryFile хорошо и ясоно описан тут: http://wasm.ru/article.php?article=hidingnt
     
  3. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    Используя эту доку и писал. Видно я где-то всеж недоглядел, буду копать :).
     
  4. unixoid

    unixoid New Member

    Публикаций:
    0
    Регистрация:
    2 мар 2005
    Сообщения:
    31
    Адрес:
    Ukraine
    Смотрел код... Там запутаться можно :)

    Сделай отдельными процами..Так же проще будет и дебагировать будет проще..

    Если ты перехватываешь прямым патчинием начала NtQueryDirectoryFile, тогда запускай блокнот к примеру, лепи свою дллку к нему.запускай софтайс, ставь бряку на NtQueryDirectoryFile.. Пробуй открыть в блокноте че-нить.. И начинай трассировать в софтайсе по F10/F8.. Пока не найдешь,где бяка в твоем обработчике...
     
  5. unixoid

    unixoid New Member

    Публикаций:
    0
    Регистрация:
    2 мар 2005
    Сообщения:
    31
    Адрес:
    Ukraine
    smotrel kod...



    ;--------------------------------------------------------------------- ---

    ; ... обработка остальных классов ...

    ;--------------------------------------------------------------------- ---

    @case4:

    cmp FileInformationClass, 3 ; FileBothDirectoryInformation

    jne @exit



    chto eto takoe ???:))

    u tebya zhe ona srazu vyskochit,esli FileInformationClass!=3...
     
  6. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    unixoid

    Понятное дело, просто для уменьшения размера я оставил только один обработчик, да и все остальные также практически выглядят, только структуры разные и потому кое-какие смещения другие.
     
  7. unixoid

    unixoid New Member

    Публикаций:
    0
    Регистрация:
    2 мар 2005
    Сообщения:
    31
    Адрес:
    Ukraine
    Ну хз тогда...Мой код пашетбпричем запахал сразуб,без всякой отладки в СофтАйсе...А вот с реестром попарился 2дня...вот там 屁股, а в файлах все просто - обычное искажение связянных списков..

    PS. Двигать весь буффер структур совсем безсмысленно,т.к нам никогда не понадобится скрыть первую запись..Она присудствует для каждой папки..если в папке 1 файл,то он никогда первым тоже не будет...(смотри в СофтАйсе)
     
  8. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    хм, а я для реестра сделал все быстренько, а вот с файлами до сих пор парюсь...