Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Перехват функций обращения к реестру в C# (http://forum.oszone.net/showthread.php?t=226994)

geolone 03-02-2012 21:09 1851198

Перехват функций обращения к реестру в C#
 
Здравствуйте, помогите пожалуйста решить проблему. Мне необходимо перехватывать обращения любой программы к реестру и затем заменять реальное значение на свое. Как все это реализовать в C#?

Любезный 03-02-2012 21:53 1851237

С какой целью это нужно? Написать что-то вредоносное?

Drongo 03-02-2012 22:24 1851263

А какже контроль целостности приложений в антивирусах? Они кстати тоже отслеживают обращения к реестру и попытки записать туда свои значения.

geolone 03-02-2012 22:30 1851267

Нужно исключительно для себя, не каких злых умыслов. Тем более о каких вредоносных программах может идти речь используя C#.

opel431 03-02-2012 23:01 1851302

Цитата:

Цитата geolone
Тем более о каких вредоносных программах может идти речь используя C#. »

Ну, да! Эти гадости, пишутся на папирусе!
А, вообще, смотрите исходники регмонитора.

Delirium 04-02-2012 03:50 1851465

http://www.google.ru/search?sourceid...oring+registry
http://stackoverflow.com/questions/8...atcher-c-sharp

http://www.codeproject.com/Articles/20973/RegMon

Этих ссылок более чем достаточно для решения вопроса.

Любезный 04-02-2012 13:14 1851596

Цитата:

Цитата Drongo
А какже контроль целостности приложений в антивирусах? Они кстати тоже отслеживают обращения к реестру и попытки записать туда свои значения. »

Но они не делают этого:
Цитата:

Цитата geolone
и затем заменять реальное значение на свое. »


geolone 04-02-2012 16:43 1851742

Цитата:

Цитата Delirium
http://www.google.ru/search?sourceid...oring+registry
http://stackoverflow.com/questions/8...atcher-c-sharp
http://www.codeproject.com/Articles/20973/RegMon
Этих ссылок более чем достаточно для решения вопроса. »

Извините, но я уже знаком с этими ссылками, я пришел на форум именно потому что у меня недостаточно знаний самому разобраться с информацией, котороя находиться по этим ссылкам и надеялся на помощь.

Delirium 05-02-2012 14:18 1852195

geolone, в таком случае приводи свою проблему более развернуто. А то мы тут распинаемся, предоставляем данные, а ты, оказывается, уже все это читал и есть еще вопросы. В чем вопрос то конкретно?

geolone 06-02-2012 19:04 1853019

В общем здесь http://stackoverflow.com/questions/8...atcher-c-sharp я понял, что в этом RegMon реализован мониторинг на стадии изменения ключа, но мне нужно перехватить функцию при попытке чтения ключа и затем вернуть значение которое задам сам, а может я все не так понял?

Дальше http://www.codeproject.com/Articles/20973/RegMon вообще глухо ниче не понимаю здесь.

Единственно что смог сделать так это подключить dll

Код:

[DllImport("advapi32.dll", SetLastError = true)] internal static extern UInt32 RegQueryValue( IntPtr hKey, [MarshalAs(UnmanagedType.LPStr)]string lpSubKey, StringBuilder lpValue, ref UInt32 lpcbValue);
как с ней работать дальше? какие функции нужно использовать для перехвата RegQueryValue? или может вообще я пошел не в ту степь?

Delirium 07-02-2012 02:05 1853280

Цитата:

Цитата geolone
перехватить функцию при попытке чтения ключа »

Что подразумевается под ПОПЫТКОЙ чтения ключа? Вот чисто с твоей точки зрения?

В ссылке (http://stackoverflow.com/questions/8...atcher-c-sharp ) приводится 2 варианта. Второй да, отслеживает изменения после изменения. Первый же мониторит состояния путем

Код:

ManagementEventWatcher watcher = new ManagementEventWatcher(query);
Console.WriteLine("Waiting for an event...");
// Set up the delegate that will handle the change event.
 watcher.EventArrived

EventWatcher как раз и мониторит все состояния и попытки доступа аналогично FileSystemWatcher.

Специально сделал проектик, создал раздел в реестре и попытался изменить значение. При нажатии на Enter программа перехватила мою попытку записать данные.

Посмотри вот это еще:
http://www.codeproject.com/Articles/.../aa393035.aspx - здесь более подробно разобраны эти вопросы.

и вот это:
http://www.codeproject.com/Articles/...ws-API-hooking


Время: 14:13.

Время: 14:13.
© OSzone.net 2001-