|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.01.2011, 18:07 | #11 |
Форумчанин
Регистрация: 29.04.2008
Сообщений: 100
|
Пепелу Фениксу: Ну перехват процессов через NtQuerySystemInformation идет отлично, значит все-таки Nt-функции в семерке еще как используються
|
10.01.2011, 19:31 | #12 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Пеплу*. был не прав признаю. зато теперь знать буду
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.01.2011, 15:01 | #13 |
Форумчанин
Регистрация: 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. |
11.01.2011, 18:20 | #14 |
Форумчанин
Регистрация: 29.04.2008
Сообщений: 100
|
Ну NtQueryDirectoryFile заполняет именами файлов и указателями 4 структуры, я их все знаю. А вот с ZwQueryDirectoryFile никогда не работал. Ее вообще можно перехватить тем методом, что указан выше? Или надо писать драйвер? Уж больно хочеться дописать программу, чтоб она и на семерке с вистой работала, а с драйверами я не сталкивался никогда.
|
11.01.2011, 20:16 | #15 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Так вы же перехватив функцию с префиксом Nt сами же и вызываете функцию с Zw. Параметры у нее абсолютно такие же и она то уже и передает вызов в ринг0. Просто обратите внимание на 8й параметр данной функции- я маленько потрассировал эксплорер ХР и ни разу не увидел его равным 0х25. Посмотрите в хидерах компиляторов или еще где нибудь какое у него имя и какая структура вернется если использовать данный индекс потому что винь7 использует его похоже.
Суть вообщем такова: то самое место в вашем коде куда перенаправляется перехваченная функция - смотрите 8й параметр, затем вызывайте ее (там собственно это и происходит в коде) и потом смотрите массив структур которые она вернет в массиве находите каталог/файл для сокрытия и как нибудь сплайсте его-я просто размер предыдущей структуры увеличил и прошло таки, но это унылый вариант на мой взгляд. Опять же повторяю, если файлов/каталогов много и все структуры не поместятся в 0х10000 байт я незнаю что будет ибо 7ка для начала выделяет буфер такого размера, а переполнить его я не пробовал
Нет, ну правда..
|
12.01.2011, 20:19 | #16 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Ота, опробовайте демку. Только под Винь7. Поколдовывает директорию test. Инжектить в эксплорер. Не буит работать, я не виноват, будет стало быть гут. У меня работат.
Нет, ну правда..
|
13.01.2011, 19:08 | #17 |
Форумчанин
Регистрация: 29.04.2008
Сообщений: 100
|
Погонял вашу последнюю дллку, все работает.
Только одна проблема, написана она на асме. Для меня как китайская грамота. Не могли бы вы перевести на си, чтобы я в коде разобрался. PS: Антиспам в аське так и не пробил... |
17.01.2011, 16:22 | #18 |
Регистрация: 10.06.2010
Сообщений: 5
|
Присоединяюсь к hiho.
yuran666666 выложите пожалуйста исходники на сях. Думаю многие будут Вам благодарны
ICQ: 67-zero-5-zero-19
mail: silverrulezz[сабака]mail.ru |
24.01.2011, 10:08 | #19 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
да я бы и рад, но как то все не ляжет никак у меня душа к писанию на сях. Так что обращайтесь к hiho-проблема была разобрана и переписана им на си.
Нет, ну правда..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |