Перехват функций работы с реестром

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Перехват функций работы с реестром

Сообщение Maitris » 29.09.2007 (Сб) 18:24

Приветствую,
ищу информацию по чему-либо, позволяющему перехватывать обращения к реестру, для фильтрации определенных ключей, как, по-моему, поступают некоторые современные протекторы лицензий. Цель - сокрытие определенных ключей, например для банального "однократного" показа документа.
----

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.09.2007 (Сб) 19:14

Maitris
Глобальный или локальный перехват интересует?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 29.09.2007 (Сб) 19:22

локальный. Подошла бы даже наверное установка запрета на чтение для определенных пользователей, но мне нужно скрыть скорее значения, чем непосредственно ключ.

Добавлено: вот например, цитата об одной из программ:
Технология Rootkit Скрывает следующее:
– Собственные файлы
– Собственный ключ реестра


Используемый метод:
• Невидимый из Windows API


Потом, попробуйте удалить ключ сервиса Outpost Firewall. Разрешения стоят Full Control, ан нет, не получится так просто. Как они это делают (перехват)?
Последний раз редактировалось Maitris 29.09.2007 (Сб) 19:27, всего редактировалось 1 раз.
----

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.09.2007 (Сб) 19:24

Maitris
Локальный - это когда перехватываются вызовы функции, сделанные из своего процесса.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 29.09.2007 (Сб) 19:28

Хакер
Не, нафиг мне из своего процесса ))) Тогда глобальный )
----

Me!
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 05.08.2007 (Вс) 21:35

Сообщение Me! » 29.09.2007 (Сб) 19:34

ну тогда нужно немного изучить понятия и почитать, например, "Руссинович М. Соломон Д. Внутреннее устройство Microsoft Windows Server 2003, Windows XP, Windows 2000"

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 29.09.2007 (Сб) 19:49

Me!
гы, причем тут "внутреннее устройство Windows"? Меня интересует практически применимая информация.

Предположительно, загружается драйвер, который хукает какие-то функции Api. Знаю, что аналогичный эффект достигался в программе написаной на Delphi - так что видимо тут не нужно глубокое знание ассемблера или же операционной системы в целом.... Должно быть не слишком тривиальное решение
----

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.09.2007 (Сб) 20:06

Maitris

Открываешь процесс, который тебе нужно перехватить, получаешь права на запись в него. Юзая VirtualAllocEx, записываешь в чужой процесс свой код. Запускаешь в контексте чужого процесса новый поток (с помощью CreateRemoteThread, - передавая в качестве одного из аргументов (3-ий или 4-ый - не помню точно) адрес точки входа кода нового потока (т.е. это должен быть адрес, по которому ты записал свой код, адрес, который вернула VirtualAllocEx.) ).

Твой код теперь получился вживлённым в чужок процесс. Этот код должен получить hModule модуля advapi32. Юзая GetProcAddress, получаешь адреса функций, которые нужно перехватить. Меняешь атрибут страницы памяти, по котроым расположены эти функции так, чтобы в них можно было писать (устанавливай максимальный уровень доступа! т.е. - RWX, иначе может произойти так, что выполнение главного потока попадёт в non-executable страницу памяти, что приведёт к GPF). В самое начало фунции записываешь команду, совершающую прыжок на твой код, который и должен будет обрабатывать перехват функции и, к примеру, подменивать параметры.

Проблема тут может возникнуть в том, что команда перехода затрёт оригинальный код функции (в начале функций может валяться mov edi, edi - тогда ситуация несколько лучше). Я не знаю решения этой проблемы кроме как переноса кода функции (до её модификации) в другое место. Но при этом, потребуется фиксить все те места функции, где используется абсолютная адресация. В этом тебе поможет секция релокации.

Ну, это так, в общих словах :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Me!
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 05.08.2007 (Вс) 21:35

Сообщение Me! » 29.09.2007 (Сб) 20:38

[offtop]
Меня интересует практически применимая информация.


практика без теории называется копипастинг
[/offtop]

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 29.09.2007 (Сб) 20:42

Если надо следить за изменениями определённого ключа, то это можно реализовать через WMI.
Salus populi suprema lex

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 29.09.2007 (Сб) 21:10

Хакер
Такая активность, которую ты упомянул (инъекция кода в чужой процесс), непременно привлечет интерес антивирусных программ, что категорически неприемлемо. Это ведь не вирус, а очередная попытка защитить хранимые данные/параметры.

Добавлено: всю ту информацию о недрах windows, что твоя голова насобирала за несколько лет, ты вылил как ведро помоев на либеральное сообщество форумчан.... Вот :wink:
Me!
lol
dr.MIG
Уточни
----

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.09.2007 (Сб) 21:18

Maitris
Антивирусные программы - фтопку.

Вон, Spy++ же внедряется во все процессы...

А другого варианта (ну, возможно вариант с WMI всё же существует, но я о нём не знаю) не существует.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 29.09.2007 (Сб) 21:19

практика без теории называется копипастинг
Точно
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.09.2007 (Сб) 21:21

Добавлено: всю ту информацию о недрах windows, что твоя голова насобирала за несколько лет, ты вылил как ведро помоев на либеральное сообщество форумчан.... Вот


Кто? Я?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Me!
Новичок
Новичок
 
Сообщения: 35
Зарегистрирован: 05.08.2007 (Вс) 21:35

Сообщение Me! » 29.09.2007 (Сб) 21:44

Maitris
всю ту информацию о недрах windows, что твоя голова насобирала за несколько лет, ты вылил как ведро помоев на либеральное сообщество форумчан

если тебе эта инфа показалась помоями, то сложно назвать тебя программером, ибо программер обязан знать устройство системы для которой он пишет

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 30.09.2007 (Вс) 7:50

активность, которую ты упомянул (инъекция кода в чужой процесс), непременно привлечет интерес антивирусных программ, что категорически неприемлемо
Даже обсуждалось ,чт0 писать по 4 байта - и никто ничего не скажет....
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.09.2007 (Вс) 13:56

ANDLL
Что правда? :) Где обсуждалось?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 30.09.2007 (Вс) 14:27

То что я говорил, обсуждалось гдето тут
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 30.09.2007 (Вс) 15:11

Хакер
ну ребята, у вас с чуством юмора............... кх-кх

На самом же деле интересный док получился, только плохо структурированный.

что-ж, пойдем попишем в процесс :)
----

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 30.09.2007 (Вс) 16:34

Уточняю. Через WMI вот так.
Вложения
WMI.rar
Контроль за изменениями в реестре
(6.39 Кб) Скачиваний: 55
Salus populi suprema lex

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.09.2007 (Вс) 18:16

Из числа старых трюков: если заюзать под свои цели ключ реестра, содержащий в своём названии vbNullChar, то из-под WinAPI он будет недоступен.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.09.2007 (Вс) 18:34

tyomitch
А из-под чего он будет доступен?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.09.2007 (Вс) 18:38

Из-под Native API.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.09.2007 (Вс) 18:42

А если софт пишется под 9x ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.09.2007 (Вс) 20:01

Я абсолютно уверен, что автором не пишется софт под 9x.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 59

    TopList