В Windows XP и Vista 32bit использую перехват SDT для некоторых системных сервисов. Необходимо также сделать аналогичный функционал в XP 64 и Vista 64. Но насколько я понял это не такая простая задача по причине Patch Guard и потому что в SDT теперь хранятся смещения. Подскажите, есть ли где готовые примеры с исходниками, успешно перехватывающие SDT в указанных ОС? Буду премного благодарен!
Я кстати тем временем нашел кое-что: http://code.google.com/p/easyhook-continuing-detours/ Заявлен перехват АПИ на 64-битных системах также. там вначале идет дот-нет, поэтому просьба не плеваться. В файлах есть кодес драйвера, со вставками на ассемблере. Было бы интересно услышать мнения знающих людей
Основаная проблема в том, что SSDT хуки в х64 системах требуют обхода patch guard и поэтому официально запрешены. Если Вы разрабатываете легальный софт - нужно искать другие пути.
katrus Ну проблемы как таковой нету. Никто не мешает изменить атрибуты доступа в PTE, для вашей области памяти.
Тогда вопрос. Как разработчики антивирусов решают эту проблему? Имхо им надо легальный софт творить, а вирусописателям на это наплевать они просто патчгуард обойдут и им пофиг будет на легальность а антивирусописатели будут смирно в сторонке леденец сосать?
Ребят, ну что за дремучесть такая? Функциональность обычно сигнатурного антивирусного сканера легко и непринуждённо решается файловыми фильтрами. Функциональность фаерволов покрывается пакетными и транспортными фильтрами. Вот с проактивной защитой сложнее, это да, но не намного, на самом деле. Значительная часть перехватов здесь решается хуками на методы типов. Ещё часть решается колбеками на реестровые операции. Часть решается через file system filter callbacks. Реализовать самозащиту вообще не проблема. Всё вышеперечисленное документировано (кроме методов типов) и работает на 64-битных системах. Чего ещё надо-то?