Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Перехват изменений в реестре  (Прочитано 10716 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Termit
Гость
« : 19-02-2009 14:10 » 

Привет знатокам ядра винды ) А кто подскажет как перехватывать и подменять изменения/чтения из реестра?
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 19-02-2009 14:40 » 

а с чего такой вопрос?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Termit
Гость
« Ответ #2 : 19-02-2009 16:26 » 

Хочу отслеживать активность конкретного приложения с известным PID в системе, но защитить систему от изменений со стороны софтины
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 20-02-2009 09:46 » 

вобще штатными средствами даже не знаю как... помоему штатных средств и нет.
если для перехвата API то... где то я видел методы... на wasm-е кажется что то было...
если для прехвата в ядре... даже незнаю) вобще это уже подчти вирусописательство.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Termit
Гость
« Ответ #4 : 20-02-2009 10:09 » 

Вы ошибаетесь, уважаемый, это ВИРТУАЛИЗАЦИЯ в чистом виде, что кстати может быть полезно для отслеживания активности тех самых вирусов без ущерба для системы (про перехват операций в файловой системе я уже вопрос задавал)...
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 20-02-2009 13:46 » 

я в о методах перехвата это говорил)))
полистайте http://www.wasm.ru/article.php?article=apihook_1
там есть то что вас интересует)

Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
amisto0x07
Гость
« Ответ #6 : 20-02-2009 15:43 » 

Ядром экспортируется указатель на таблицу системных сервисов (SSDT). Можно, используя этот указатель и индекс сервисной функции(которую хочешь "перехватывать") в этой таблице, получить адрес самой функции. Подход заключается в том, что необходимо загрузить в виде драйвера код, который переберет эту SSDT таблицу, вытащив из неё адреса перехватываемых функций и подменив эти адреса своими обработчиками, которые в своем контексте будут использовать оригинальную функцию.
Плюсы подхода: полный контроль на данными при работе с перехватываемыми функциями.
Недостатки: во-первых, любой мало-мальски грамотный антивирус расстреляет твой драйвер на месте, потому как выше описанные действия оные считают преступлением, ну и , во-вторых, от версии к версии ОС индексы функций, выполняющих одну и туже логику, могут в таблице не совпадать. Но это не проблема. Насколько я помню, в сети есть ресурсы, на которых полностью описаны индексы с соответствующими им функциями в зависимости от версии ядра.
« Последнее редактирование: 20-02-2009 15:58 от amisto0x07 » Записан
Termit
Гость
« Ответ #7 : 20-02-2009 20:57 » 

Ochkarik :
Спасибо большое, Вы мне очень помогли  Улыбаюсь

amisto0x07 :
Читал про такие способы... как по мне то это не очень надежно (учитывая изменения в версиях ядра), да и "мороки" много. Оставлю Ваше предложение на крайний случай, но спасибо  Улыбаюсь
Записан
amisto0x07
Гость
« Ответ #8 : 21-02-2009 10:22 » 

штатные стредства для User-mode давно существуют! MicroSoft как обычно упростил. Читайте информацию по Detour. Вся "сложность" будет заключаться в написании DLL, которая будет использовать функционал Detour-a. А далее юзайте ключ реестра AppInit_DLLs.
Записан
amisto0x07
Гость
« Ответ #9 : 21-02-2009 11:21 » 

Termit
Если тебе достаточно перехватывать работу ч реестром на user-mode уровне, то мой совет - используй detour
Записан
Termit
Гость
« Ответ #10 : 23-04-2009 11:03 » 

Есть способ попроще: CmRegisterCallback
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines