Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 18:07   #11
hiho
Форумчанин
 
Регистрация: 29.04.2008
Сообщений: 100
По умолчанию

Пепелу Фениксу: Ну перехват процессов через NtQuerySystemInformation идет отлично, значит все-таки Nt-функции в семерке еще как используються
hiho вне форума Ответить с цитированием
Старый 10.01.2011, 19:31   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Пеплу*. был не прав признаю. зато теперь знать буду
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.01.2011, 15:01   #13
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

При вызовах эксплорером ZwQueryDirectoryFile/NtQueryDirectoryFile 8й параметр функции - FileInformationClass в ХР всегда равен 0х3 - FileBothDirectoryInformation, у семерки же этих вызовов больше, есть и с 0х3, но там возвращается какая то фигня, а структуру с именами каталогов возвращает уже ZwQueryDirectoryFile вызываемая с FileInformationClass=0х25, структура возвращается другая так что копайте в сторону этого индекса(в мсдн только имена структур, а более я не искал) если что - пишите

PS: произвел небольшой эксперимент - первая же функция ZwQueryDirectoryFile с FileInformationClass=0х25 возвращает целый список со структурками (не FileBothDirectoryInformation вроде бы), длина его ограничена в 0х10000 байт, первый параметр структуры укажет на длину нашей структурки - вообщем если найти структуру описывающую наш каталог и к предыдущей прибавить длину нашей, то эксплорер после кучи исключений таки не найдет более папку, хотя там вызовов будет тьма. Пробовал "на лету" в олли.
Нет, ну правда..

Последний раз редактировалось yuran666666; 11.01.2011 в 17:23.
yuran666666 вне форума Ответить с цитированием
Старый 11.01.2011, 18:20   #14
hiho
Форумчанин
 
Регистрация: 29.04.2008
Сообщений: 100
По умолчанию

Ну NtQueryDirectoryFile заполняет именами файлов и указателями 4 структуры, я их все знаю. А вот с ZwQueryDirectoryFile никогда не работал. Ее вообще можно перехватить тем методом, что указан выше? Или надо писать драйвер? Уж больно хочеться дописать программу, чтоб она и на семерке с вистой работала, а с драйверами я не сталкивался никогда.
hiho вне форума Ответить с цитированием
Старый 11.01.2011, 20:16   #15
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Так вы же перехватив функцию с префиксом Nt сами же и вызываете функцию с Zw. Параметры у нее абсолютно такие же и она то уже и передает вызов в ринг0. Просто обратите внимание на 8й параметр данной функции- я маленько потрассировал эксплорер ХР и ни разу не увидел его равным 0х25. Посмотрите в хидерах компиляторов или еще где нибудь какое у него имя и какая структура вернется если использовать данный индекс потому что винь7 использует его похоже.
Суть вообщем такова: то самое место в вашем коде куда перенаправляется перехваченная функция - смотрите 8й параметр, затем вызывайте ее (там собственно это и происходит в коде) и потом смотрите массив структур которые она вернет в массиве находите каталог/файл для сокрытия и как нибудь сплайсте его-я просто размер предыдущей структуры увеличил и прошло таки, но это унылый вариант на мой взгляд. Опять же повторяю, если файлов/каталогов много и все структуры не поместятся в 0х10000 байт я незнаю что будет ибо 7ка для начала выделяет буфер такого размера, а переполнить его я не пробовал
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 12.01.2011, 20:19   #16
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Ота, опробовайте демку. Только под Винь7. Поколдовывает директорию test. Инжектить в эксплорер. Не буит работать, я не виноват, будет стало быть гут. У меня работат.
Вложения
Тип файла: rar NtQueryDirectoryFile.rar (6.2 Кб, 42 просмотров)
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 13.01.2011, 19:08   #17
hiho
Форумчанин
 
Регистрация: 29.04.2008
Сообщений: 100
По умолчанию

Погонял вашу последнюю дллку, все работает.

Только одна проблема, написана она на асме. Для меня как китайская грамота. Не могли бы вы перевести на си, чтобы я в коде разобрался.

PS: Антиспам в аське так и не пробил...
hiho вне форума Ответить с цитированием
Старый 17.01.2011, 16:22   #18
SilverRulezz
 
Аватар для SilverRulezz
 
Регистрация: 10.06.2010
Сообщений: 5
По умолчанию

Присоединяюсь к hiho.
yuran666666 выложите пожалуйста исходники на сях. Думаю многие будут Вам благодарны
ICQ: 67-zero-5-zero-19
mail: silverrulezz[сабака]mail.ru
SilverRulezz вне форума Ответить с цитированием
Старый 24.01.2011, 10:08   #19
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Цитата:
Сообщение от SilverRulezz Посмотреть сообщение
Присоединяюсь к hiho.
yuran666666 выложите пожалуйста исходники на сях. Думаю многие будут Вам благодарны
да я бы и рад, но как то все не ляжет никак у меня душа к писанию на сях. Так что обращайтесь к hiho-проблема была разобрана и переписана им на си.
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt vs. WinAPI Зелёный_спец Общие вопросы C/C++ 3 12.03.2010 15:34
WinApi и C++ titan-prog Win Api 1 17.07.2008 21:02
WinApi Andr Безопасность, Шифрование 3 17.06.2007 13:38