Все нормально вроде, ф-ция перехватывается, но обработчик работает неправильно ( - у меня исчезает содержимое всей директории и т.д., plz направьте куда надо... код обработчика в аттаче. 1144877028__ntqdf.txt
Х3, твой исходник скачал, но не смотрел...Времени мало.. Мне кажется,что твоя бадяга всегда -1 возвращает...Потому и файлов 0.. Вобще в обработчике ничего заумного нету,просто пересмотри внимательно код,провари в голове весь процесс.. Принцип работы NtQueryDirectoryFile хорошо и ясоно описан тут: http://wasm.ru/article.php?article=hidingnt
Смотрел код... Там запутаться можно Сделай отдельными процами..Так же проще будет и дебагировать будет проще.. Если ты перехватываешь прямым патчинием начала NtQueryDirectoryFile, тогда запускай блокнот к примеру, лепи свою дллку к нему.запускай софтайс, ставь бряку на NtQueryDirectoryFile.. Пробуй открыть в блокноте че-нить.. И начинай трассировать в софтайсе по F10/F8.. Пока не найдешь,где бяка в твоем обработчике...
smotrel kod... ;--------------------------------------------------------------------- --- ; ... обработка остальных классов ... ;--------------------------------------------------------------------- --- @case4: cmp FileInformationClass, 3 ; FileBothDirectoryInformation jne @exit chto eto takoe ???) u tebya zhe ona srazu vyskochit,esli FileInformationClass!=3...
unixoid Понятное дело, просто для уменьшения размера я оставил только один обработчик, да и все остальные также практически выглядят, только структуры разные и потому кое-какие смещения другие.
Ну хз тогда...Мой код пашетбпричем запахал сразуб,без всякой отладки в СофтАйсе...А вот с реестром попарился 2дня...вот там 屁股, а в файлах все просто - обычное искажение связянных списков.. PS. Двигать весь буффер структур совсем безсмысленно,т.к нам никогда не понадобится скрыть первую запись..Она присудствует для каждой папки..если в папке 1 файл,то он никогда первым тоже не будет...(смотри в СофтАйсе)