Удалить ключ в реестре без прав администратора

Тема в разделе "WASM.BEGINNERS", создана пользователем Rihter, 8 мар 2006.

  1. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76
    Удалить ключ в реестре без прав администратора





    У меня такая проблема, делаю программу, которая каждую минуту вносит

    в реестр кое, какие данные в бинарном виде… что-то вроде Firewall(а).



    Так вот, в любой момент и любой пользователь(Хакер или …) может изменить

    права к этому ключу или разделу.

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

    не работал с реестром из драйвера и хотел бы узнать:

    Какие ф-ций существует для полного доступа к реестру из под драйвера?
     
  2. DedMazday

    DedMazday New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    11
    Rihter

    А тебе не кажется, что вместо того чтобы задавать глупые вопросы, надо читать RTFM.

    И еще желательно думать, и думать ГОЛОВОЙ!
     
  3. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76
    DedMazday

    А тебе не кажется, что я задал вопрос, думая головой!

    Ты лучше ответь, нормально, чем отвечать глупыми ответами!
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    to Rihter ..

    Странный ты . Вначале пишешь : "Удалить ключ в реестре без прав администратора" .. а потом "Теперь я решил организовать работу с реестром из под драйвера.."

    Если нет прав админа, то и драйвер не запустишь ! А посмотреть туториалы Four-F несудьба ? (для особо одаренных http://www.wasm.ru/article.php?article=drvw2k10 )

    И после всего этого кричать, что ты думал головой ???
     
  5. DedMazday

    DedMazday New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    11


    Скорее не головой, а тем что с другого конца тела...

    Гнать вас ламеров надо с васма метлой, чтобы духу вашего здесь небыло.
     
  6. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76


    Ах, вот ты какой, да ты сложить 2+2+2 не сможешь...



    Ответь мне на вопрос

    Сколько именаторов, ядра, нужно что бы разделить

    ядерною ф-цию, как систему счисление, в многозадачности...



    Если ты знаешь, то ты не ламер, инче ты жалкое существо,

    которое знает чучуть и голосит о том что он знает.

    Таких жалких надо гнать с лица земли...
     
  7. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76
    TermoSINteZ
    :)

    Да это я так, что бы привлечь внимание...

    На самом деле, мне надо узнать, могу ли я из драйвера

    записать значение, в ключ, который защищен правами админа?
     
  8. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка


    какой-то для меня непонятный смысл, таит сие предложение.

    Защищён правами админа - это как? у тебя же тоже вроде бы есть права...
     
  9. DedMazday

    DedMazday New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    11




    Спасибо за вопрос, рассмешил :)

    Я конечно читал подобные отжыги на сайтах с анекдотами, но если ты считаешь это вопросом, то мне тебя жаль (так как твой случай неизлечим).



    Не буду переходить к личным оскорблениям, а просто попытаюсь разьяснить кто такой ламер и чем он отличается от начинающего.



    Признаки ламера:

    1) Ламер ничего не знает, но считает что знает все.

    2) Ламер никогда не пользуется мануалами и поисковиками, считая что для ответов на его вопросы есть форумы, на которых ему все просто обязаны помочь.

    3) Ламер ждет помощи в виге готового решения, при этом он не пытается найти решение сам.

    4) Ламер не способен учиться, и поэтому глупые вопросы прекращаются только когда его с форума пошлют подальше, либо просто забанят (если он не понимает по хорошему).

    5) На ответы вроде "читай RTFM" или "ищи в google" он немедленно огрызается и говорит что он это знает лучше всех (видимо считает, что ради него все должны бросить дела и начать постить инфу из MSDN).





    Признаки начинающего:

    1) Начинающий знает мало, но не отрицает этого.

    2) Начинающий способен учиться сам, и находить ответы на свои вопросы в мануалах.

    3) Если он получает ответ RTFM - то идет и читает мануалы.

    4) Если он задает вопрос, то пытается обьяснить что он сам сделал для решения этого вопроса, и какае проблемы перед ним возникли.

    5) Начинающий требует совета в решении вопроса, а не законченого разжеваного по полочкам решения.

    6) Начинающий любит сам помагать давая ответы на те вопросы, в которых он что-либо понимает.



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

    И напоследок: Ламер - это не уровень знаний, это диагноз.
     
  10. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76
    DedMazday Ну, это ты наверное самого себя изложил

    есть такая пословится, по себе людей не судят...



    В щет Google.[...] и RTFM я думаю ответ на такой простой

    вопрос не найдешь... Хотя к сожилению, я мало знаю о нем

    и считаю себя ламером только в этой области, а начинающим

    в области "Разработка драйверов".



    Давай не будем, всякой ерундой заниматся если знаешь

    ответь нормально, иначе просто не отвечай.

    Прошу очень :)
     
  11. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76
    dead_body



    Я говорил про firewall, а также о том, что любой пользователь (Хакер/...) может самостоятельно, запретить

    в него запись, и вот тогда моя программа просто обломается
     
  12. DedMazday

    DedMazday New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    11
    Ок, отвечу.

    Итак, допустим я не имею никакого представления как мне писать в реестр из драйвера. Что я буду делать?

    1) Попробую поискать в яндексе.

    http://www.yandex.ru/yandsearch?text=%C7%E0%EF%E8%F1%FC+%E4%F0%E0%E9%E 2%E5%F0%EE%EC+%E2+%F0%E5%E5%F1%F2%F0&stype=www

    Вводим такой запрос и попадаем по первой ссылке на http://borland.xportal.ru/forum/printview.php?t=13120&start=0&sid=3957741e6d0ad538a4c9290601e3e17d



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

    Теперь идем в MSDN и ищем там ZwOpenKey и попадаем на http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Kerne l_r/hh/Kernel_r/k111_8583b145-a6be-4e4f-8e46-ca7d48b8a07f.xml.asp

    А тут тебе есть и список всех функций работы с реестром и их описание.

    Вот собственно это тебе и надо было сделать, чтобы не выглядеть ламером. Я думаю единственная причина по которой ты это не сделал - это лень и желание получить все готовое, а это уже симптом...
     
  13. DedMazday

    DedMazday New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    11
    Надеюсь тебе не придется на пальцах растолковывать как изменить права доступа к ключю, подскажу лишь что их можно игнорировать установив флаг OBJ_KERNEL_HANDLE в структуре OBJECT_ATTRIBUTES при открытии ключа.
     
  14. Rihter

    Rihter New Member

    Публикаций:
    0
    Регистрация:
    24 фев 2006
    Сообщения:
    76
    DedMazday:)Дааааааа...

    Ну про ф-ций я знаю и как их использовать тоже...



    DedMazday

    Спасибо... ;)
     
  15. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Rihter

    Может тебе стоит в WASM.COMMERCIALS создавать топики ?

    Если посмотреть в инфу ВАШЕГО юзера, то можно увидеть список тем, и если пройтись по этих темах,то можно увидеть текст типа "дайте мне такому хорошему пример ...", здесь форум, если хочешь получить ответ на вопрос попробуй сначала сам разобраться, или пости примеры которые не работают.

    DedMazday тебе показал как искать инфу.
     
  16. Maveric

    Maveric New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2004
    Сообщения:
    90
    Ребьзя, может вы где нибудь пересечётесь и морды друг другу набьёте ?



    <font color="red]первое и последнее предупреждение за мат</font><!--color-->
     
  17. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Rihter

    Хочешь научиться чему-то — создавай темы в WASM.BEGINNERS и учись. Но прежде последуй всё же советам DedMazday.
     
  18. mix_mix

    mix_mix Михаил

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    277
    Адрес:
    Токио
    Что-то вы конкретно парнишу обосрали, нет бы ответить нормально.

    Значит по порядку:

    <li> Так вот, в любой момент и любой пользователь(Хакер или …) может изменить права к этому ключу или разделу.

    Не может. Что-то я не знаю таких функций, которые меняли права ключей или разделов. Другое дело перехват...

    <li> Теперь я решил организовать работу с реестром из под драйвера.

    А смысл? Другое дело перехват...

    <li> Какие ф-ций существует для полного доступа к реестру из под драйвера?
    Код (Text):
    1. NtCreateKey     Creates or opens a Registry key. DDK
    2. NtOpenKey   Opens an existing Registry key. DDK
    3. NtDeleteKey     Deletes a Registry key.  DDK
    4. NtDeleteValueKey Deletes a value.  DDK
    5. NtEnumerateKey  Enumerates the subkeys of a key.  DDK
    6. NtEnumerateValueKey Enumerates the values within a key.  DDK
    7. NtFlushKey  Flushes changes back to the Registry on disk.  DDK
    8. NtInitializeRegistry Gets the Registry rolling. The single parameter to this specifies whether its a setup boot or a normal boot.      
    9. NtNotifyChangeKey Allows a program to be notified of changes to a particular key or its subkeys.      
    10. NtQueryKey  Queries information about a key.  DDK
    11. NtQueryMultiplValueKey Retrieves information about multiple specified values. This API was introduced in NT 4.0.      
    12. NtQueryValueKey Retrieves information about a specified value.  DDK
    13. NtReplaceKey    Changes the backing file for a key and its subkeys. Used for backup/restore.      
    14. NtSaveKey   Saves the contents of a key and subkey to a file.      
    15. NtRestoreKey    Loads the contents of a key from a specified file.      
    16. NtSetInformationKey Sets attributes of a key.      
    17. NtSetValueKey   Sets the data associated with a value.  DDK
    18. NtLoadKey   Loads a hive file into the Registry.      
    19. NtLoadKey2      Introduced in NT 4.0. Allows for options on loading a hive.      
    20. NtUnloadKey     Unloads a hive from the Registry.      
    21. NtCompactKeys   New to WinXP. Makes key storage adjacent.    
    22. NtCompressKey   New to WinXP. Performs in-place compaction of a hive.    
    23. NtLockRegistryKey  New to WinXP. Locks a registry key for modification.    
    24. NtRenameKey     New to WinXP. Renames a Registry key.  
    25. NtSaveKeyEx     New to WinXP. Saves the contents of a key and its subkeys to a file.    
    26. NtUnloadKeyEx   New to WinXP. Unloads a hive from the Registry.    
    27. NtLoadKeyEx     New to Server 2K3. Loads a hive into the Registry.  
    28. NtUnloadKey2    New to Serer 2K3. Unloads a hive from the Registry.    
    29. NtQueryOpenSubKeysEx New to Server 2003. Returns the keys opened beneath a specified key.    
    30.  


    Функции в конце описания которых написано DDK по идее должны быть в ntoskrnl.exe, остальные - NativeAPI (ntdll.dll)

    Другое дело перехват на уровне ядра... (задолбал уже наверное своим перехватом, но что делать, это жизнь; если перехват идет на уровне ядра, то уже хрен чем поможешь :)

    <li> На самом деле, мне надо узнать, могу ли я из драйвера записать значение, в ключ, который защищен правами админа?

    Можешь. Но чтобы про меня ничего плохого не подумали, повторюсь: у ключей, разделов etc. прав никаких НЕТ, другое дело если прога запустилась, когда работал обычный юзер, а не админ, то у нее нет достура в некоторые части раздела. Но эти права (привелегии) сравнительно легко получаются программным путем. Уф, вроде все.

    P.S. Может я не прав.
     
  19. DedMazday

    DedMazday New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    11


    А в MSDN заглядывать не пытался? (RegSetKeySecurity).

    И зачем ты ему отвечаешь? Ты же видел какие он вопросы задает, и ответ на эти вопросы только вынуждает его спрашивать подобные глупости еще.
     
  20. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков


    Наверное, чтобы я это прочитал :)))

    Я где-то полгода назад такую инфу искал, так что Ctrl+C Ctrl+V - может еще пригодится :)))