Регистр windows: Реестр windows — Википедия – Что такое реестр Windows? Как его открыть и что с ним делать?

Содержание

Что такое реестр Windows? Как его открыть и что с ним делать?

Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.

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

Реестр Windows был введён для упорядочения информации, хранившейся до этого во множестве INI-файлов, обеспечения единого механизма (API) записи-чтения настроек и избавления от проблем коротких имён, отсутствия разграничения прав доступа и медленного доступа к ini-файлам, хранящимся на файловой системе FAT16, имевшей серьёзные проблемы быстродействия при поиске файлов в директориях с большим их количеством. Со временем (окончательно — с появлением файловой системы NTFS) проблемы, решавшиеся реестром, исчезли, но реестр остался из-за обратной совместимости, и присутствует во всех версиях Windows, включая последнюю. Поскольку сейчас не существует реальных предпосылок для использования подобного механизма, Microsoft Windows — единственная операционная система из используемых сегодня, в которой используется механизм реестра операционной системы. В общем Реестр это рудимент.

Реестр Windows в нынешнем виде.

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

Вначале, в процессе установки (инсталляции) и настройки Windows, на диске формируются файлы, в которых хранится часть данных относительно конфигурации системы.

Затем, в процессе каждой загрузки системы, а также в процессе каждого входа и выхода каждого из пользователей, формируется некая виртуальная сущность, называемая «реестром» — объект REGISTRY\. Данные для формирования «реестра» частично берутся из тех самых файлов (Software, System …), частично из информации, собранной ntdetect при загрузке (HKLM\Hardware\Description).

То есть часть данных реестра хранится в файлах, а часть данных формируется в процессе загрузки Windows.

Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу записываются в файлы.

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

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

Где лежат файлы реестра Windows?

Файлы реестра лежат в папке windows\System32\config\ еще есть пользовательский раздел реестра — в файле %userprofile%\ntuser.dat.Резервные копии файлов реестра находятся в папке windows\System32\config\RegBack.

Какие основные разделы (кусты) реестра?

Раздел HKEY_CLASSES_ROOT

Это основной ключ реестра Windows, он содержит ассоциации файлов, которые связывают типы файлов с программами, которые могут открывать и редактировать их, и регистрацию классов для объектов Component Object Model (COM – компонентная модель объектов). Последнее предоставляет возможность изменить неимоверное число правил поведения системы — не стоит этого делать без веской причины.

Раздел HKEY_CURRENT_USER

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

Раздел HKEY_LOCAL_MACHINE

Здесь хранятся параметры конфигурации, которые относятся к данному компьютеру (параметры устанавливаются одновременно для всех пользователей). Например, здесь содержатся сведения о конфигурации компьютера, установленных драйверах и программах, наименовании портов, параметры файловой системы и т.п.


Раздел HKEY_USERS

Эта ветка содержит информацию о профилях всех пользователей данного компьютера (имя пользователя, настройки рабочего стола и т.д.). Также этот раздел хранит настройки по умолчанию для рабочего стола, меню «Пуск» и т.д. Они нужны в тех случаях, когда новый пользователь входит в систему в первый раз. В этот момент настройки по умолчанию копируются в его профиль, а все дальнейшие изменения, сделанные пользователем, сохранятся в данной ветке.

Раздел HKEY_CURRENT_CONFIG

Ключ отвечает за устройства Plug&Play и содержит информацию о текущей конфигурации компьютера с переменным составом устройств, вроде флеш-карт, принтеров, факсов, внешних накопителей и т.п. Также данный раздел содержит сведения о текущем профиле оборудования, который используется компьютером при запуске системы.

HKEY_DYN_DATA

Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.)

Как редактировать реестр?

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


Оптимизация работы реестра.

Ходят споры о том стоит ли оптимизировать реестр Windows. Я бы сказал так для более слабых компьютеров оптимизация более полезна чем для мощных. Но есть и еще один нюанс иногда не очищенные параметры реестра могут вызывать сбои и конфликты ПО и аппаратного обеспечения, поэтому делать очистку реестра от ненужных данных я рекомендую.


Кроме того реестр со временем фрагментируется, это происходит в том числе и из-за чисток. Поэтому те кто делают очистку реестра постоянно я также рекомендую иногда делать дефрагментацию реестра.

Для оптимизации работы реестра Windows можно использовать программы Ccleaner, WinOptimizer, Reg Organizer, Advanced SystemCare, Auslogics Boostspeed.


Если остались вопросы смотрите видео выше.



Как запустить реестр в Windows 7

Пожалуй каждый из вас слышал слово «реестр», однако вопросом «Что же это такое» задавались немногие, а зря. Ведь умение редактировать реестр может сэкономить кучу времени, денег, нервов и сил. Как запустить реестр операционной системы Windows 7, а так же основные способы его применения подробно рассматриваются в данной статье.

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

Аналогичная ситуация происходила во времена использования файловой системы Fat16, имевшей серьезные проблемы с быстродействием. Тогда и было принято решение ввести реестр для упорядочения информации. Со временем проблемы, решавшиеся реестром, исчезли, однако его оставили из-за обратной совместимости.

Реестр Windows – это иерархически построенная база данных параметров и настроек установленных программ.

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

Запустить реестр Windows 7 можно двумя способами:

  1. Пуск → в строке поиска пишем regedit → в найденных результатах открываем файл regedit.exe.
  2. Запускаем проводник → переходим в папку C:\Windows → ищем файл regedit.exe и открываем его.

Если вы все сделали правильно, откроется редактор реестра.

Редактор реестра

Редактирование реестра. Экспорт/Импорт

Перед нами – окно редактирования реестра Windows 7:

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

При работе с параметрами реестра нужно быть предельно внимательным и осторожным, ведь реестр – это нервная система Windows.

Поэтому перед изменением каких-либо параметров рекомендуется создать копию реестра.

Жмем правой кнопкой мышки по разделу «Компьютер» — Экспортировать – задаем имя, проверяем диапазон экспорта (должно быть «Весь реестр») и указываем папку – жмем сохранить.

Экспорт всего реестра

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

Для этого кликаем «Файл» – Импорт… — ищем сохраненный нами ранее Реестр.reg и нажимаем «Открыть». Все параметры вернутся к моменту создания копии.

Импорт файла реестра

Восстановление пароля администратора с помощью реестра

Для примера, показывающего какие задачи можно выполнить в реестре, рассмотрим такую проблему. Предположим, что вы забыли пароль от профиля администратора. Не беда! Его можно изменить с помощью реестра. Для этого нам понадобится установочный диск Windows 7.

  1. Загрузитесь с установочного диска. После копирования новых данных нам предложат выбрать язык. Оставляем все как есть и нажимаем «Далее».
  2. В новом окне выбираем «Восстановление системы», после чего компьютер выполнит поиск установленных операционных систем.
  3. Может появиться окно с текстом «Обнаружены проблемы в параметрах загрузки». Игнорируем и выбираем операционную систему и жмем «Далее».
  4. В следующем окне выбираем самый нижний параметр «Командная строка»Параметры восстановления системы - командная строка
  5. В командной строке набираем уже известную нам команду regedit и нажимаем Enter.
  6. В редакторе выделяем HKEY_LOCAL_MACHINE
  7. Затем, в меню Файл выбираем пункт «Загрузить куст».
  8. Переходим в папку С:\Windows\System32\config (буква может отличаться от привычной С). Нас интересует файл SYSTEM.Загрузить куст
  9. Вводим любое имя раздела. Например: 888.
  10. Переходим в раздел HKEY_LOCAL_MACHINE\888\Setup. Кликаем 2 раза по параметру:
    • CmdLine, вводим cmd.exe и нажимаем ОК
    • SetupType, заменяем 0 на 2 и нажимаем ОК.

    В результате вышеперечисленных манипуляций должно получиться так:Редактор реестра - пример

  11. Теперь нужно сохранить новые параметры. Для этого выделяем раздел 888, затем в меню «Файл» жмем «Выгрузить куст».
  12. Закрываем редактор и командную строку. Жмем перезагрузка, не забыв вытащить загрузочный диск.
  13. При запуске Windows 7 появится командная строка, которая нам собственно и нужна. Чтобы выполнить сброс пароля записи введите: net users_ имя учетной записи_пароль.Командная строка от имени администратора
    В данном примере пароль учетной записи Adm7 был просто изменен на tL942G8dWpЧтобы узнать увидеть имена учетных записей, находящихся на вашем компьютере, введите net users.
Командная строка от имени администратора

Реестр Windows — описание, структура, как открыть, восстановление, чистка и тп.

Реестр Windows

Для работы операционной системы Windows должны использоваться различные сведения. Реестр представляет собой специальную базу данных. В нем имеется информация, касающаяся оборудования, программного обеспечения, а также многое другое. В процессе функционирования системы происходит постоянное обращение к этой информации. Она может изменяться или дополняться, в зависимости от конкретных действий. Подобные мероприятия происходят в автоматическом порядке и пользователю нет необходимости беспокоиться об их выполнении.

 

ВАЖНО: если Вы решили работать с реестром Windows, то предварительно создайте его копию. Неосторожные действия легко могут стать причиной серьёзных системных сбоев. В результате придется восстанавливать ОС или даже осуществить её переустановку.

Реестр в операционных системах

Чтобы продемонстрировать важность реестра, требуется сказать о простой статистике. В ходе запуска ОС сюда осуществляется около тысячи обращений, а в течение одного дня количество может достигнуть 10.000 и даже более. Достаточно запустить какую-либо программу, задать настройки или выполнить иные действия, чтобы информация в реестре была отредактирована.

Довольно часто можно услышать вопрос о расположении файлов. Реестр Windows располагается по директории C\Windows\System32\config. Здесь в качестве диска указан С, но для Вашего устройства ситуация может быть иной. Все зависит от того, куда именно установлена система.

Если рассматривать наиболее популярную ОС Windows 7, то файлы реестра здесь располагаются в специальных местах. Подобный момент требует к себе отдельного внимания:

  • «HKEY_LOCAL_MACHINE\HARDWARE». Указанная ветка будет создаваться на основании того, какое именно подключено периферийное оборудование. Процесс является динамическим.
  • «HKEY_LOCAL_MACHINE\BCD00000000» использует для своего создания специальный файл «%SystemRoot%\Boot\BCD».
  • «HKEY_LOCAL_MACHINE\SYSTEM». Чтобы сформировать указанную ветку, применяется документ «%SystemRoot%\System32\config\ SYSTEM».
  • «HKEY_LOCAL_MACHINE\SOFTWARE». Создание происходит на основании документа «%SystemRoot%\System32\config\SOFTWARE».
  • «HKEY_LOCAL_MACHINE\SECURITY». В ветке происходит хранение параметров безопасности устройства и она создается из документа «%SystemRoot%\System32\config\SECURITY».
  • «HKEY_LOCAL_MACHINE\SAM». Для создания применяется информация из документа, находящегося по адресу «%SystemRoot%\System32\config\SAM».
  • «HKEY_USERS\DEFAULT». Формирование ветки реестра производится за счет документа «%SystemRoot%\System32\config\DEFAULT».
  • Ветки реестра «HKEY_USERS\S-1-5-18», «HKEY_USERS\S-1-5-19» и «HKEY_USERS\S-1-5-20». Для их создания используется документ NTUSER.DAT, который лежит в различных директориях. Это «%SystemRoot%\System32\config\systemprofile\», «%SystemRoot%\System32\config\systemprofile\» и «%SystemRoot%\ServiceProfiles\NetworkService\».
  • «HKEY_USERS\<SID_юзера>». С целью формирование происходит применение документа «%USERPROFILE%\NTUSER.DAT».
  • «HKEY_USERS\<SID_юзера>_Classes». В указанном случае, формирование производится в ходе использования документа «%USERPROFILE%\AppData\Local\Microsoft\Windows\UsrClass.dat».

Реестр имеет отдельные файлы, которые заслуживают к себе внимания – это резервные копии. Они необходимы в случае восстановления системы. Данные документы находятся по директории «%SystemRoot%\System32\config\RegBack». Если рассматривать ситуацию по умолчанию, то копия будет создавать один раз в 10 дней. Можно выполнить настройку подобного процесса – периодичности и времени запуска. Пользовательская часть реестра находится в документе %userprofile%\ntuser.dat.

Когда речь заходит о реестре ОС 32х и 64х разрядного типа, тут предусматриваются определенные особенности. В первом случае все папки являются единичными. Для 64х разрядов предусматривается разделение на 32х и, непосредственно, 64х разрядные разделы.

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

Через утилиту «Выполнить»

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

  1. Зажимаем сочетание клавиш Win+R или запускаем утилиту «Выполнить» другим способом.
  2. Производим ввод regedit и нажимаем подтверждение. Крайне важно, чтобы подобное действие проводилось от имени администратора.

Посредством поиска через меню «Пуск»

Тут могут быть определенные отличия при работе с различными ОС. Например, для Windows 8 отсутствует классическое меню «Пуск». В любом случае, необходимо получить доступ к строке поиска. В неё требуется ввести regedit и запустить выданную программу.

Посредством проводника Windows

Поставлена задача найти конкретный файл в системой папке C\Windows (ранее уже говорилось о возможности использования другой буквы диска, в зависимости от места установки ОС). Нас интересует regedit. Его нужно найти в общем перечне и запустить.

Реестр Windows включает в себя 5 ветвей. Каждая из них предусматривает хранение сведений конкретного типа. Данные разделы не разрешается изменять. Они не могут быть перенесены, переименованы или удалены. Требуется описать каждую из ветвей и указать их особенности:

  • HKEY_CLASSES_ROOT (HKCR). Здесь хранятся данные о многочисленных расширениях, что позволяет системе работать с файлами различного типа. Если каких-либо сведений нет, всегда можно внести дополнительные изменения для расширения возможностей.
  • HKEY_CURRENT_USER (HKCU). В указанной ветке находятся сведения об учетной записи. Сюда можно отнести различные настройки и элементы персонализации.
  • HKEY_LOCAL_MACHINE (HKLM). Здесь располагается все данные о подсоединённых устройствах и драйверах. Что особенно важно, тут находятся сведения, касающиеся загрузки ОС.
  • HKEY_USERS (HKU). Здесь представлены данные о полном списке пользователей для конкретного устройства.
  • HKEY_CURRENT_CONFIG (HKCC). Представлены сведения об оборудовании, которое применяет устройство в ходе запуска ОС. Как показывает практика, тут находится мало информации и почти вся она является копией из иных разделов.

В процессе работы с реестром Windows, интерес представляют HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Здесь находится большинство настроек, которые возникает необходимость изменять.

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

  • Двоичный. Получил наибольшее распространение и используется во всех разделах. При выдаче в редакторе реестра предусматривается применение 16х формата.
  • Dword. Используется значение с длиной 4 байта. Необходим для осуществления хранения параметров драйверов и различных программ.
  • Расширяемая строка данных. Основное отличие от строкового параметра заключается в отсутствии четкого фиксирования длины.
  • Многострочный. Используется более чем одна строка. Довольно часто применяется при необходимости хранения табличных данных.
  • Строковый. Строка текста, которая обладает фиксированной длиной.
  • Qword. Сведения указываются в виде 64х разрядного целого.
  • Ссылка. Используется символическая ссылка в формате Юникод.

Резервная копия всего реестра или отдельного раздела

Ранее уже говорилось об опасностях работы с реестром. Всегда имеется вероятность причинить вред системе и нужно заранее позаботиться о создании копии. Следует войти в редактор реестра Windows, где открыть раздел «Файл». В появившемся списке происходит выбор пункта «Экспорт». Теперь можно осуществить создание копии всего реестра или конкретного подраздела. Для удобства, процесс демонстрируется на скриншоте ниже.

Экспорт реестра Windows

С целью повышения надежности допускается сохранить копию не только на жёстком диске устройства, но внешнем носителе.

Так, самое худшее случилось и в системе произошел сбой. Что необходимо сделать в такой ситуации? Стоит рассмотреть три способа восстановления, каждый из которых обладает своими особенностями. В любой ситуации требуется предварительно завершить работу всех программ и приложений. Не станет лишним отключение антивирусных средств.

Восстановление из файла

Переходим к документу, который ранее был сохранен. Там должна находиться копия всего реестра Windows. Требуется осуществить двойной клик, после чего подтвердить полученное сообщение. Оно представлено на скриншоте далее.

Восстановление реестра Windows из файла

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

Слияние

Нужно открыть папку с копией и нажать на ней правой кнопкой мыши. Произойдет выдача меню, в котором требуется указать «Слияние». Для Вашего удобства, это действие представлено на скриншоте.

Слияние реестра Windows

Как и в предыдущем случае, восстановление завершится после перезагрузки.

Импорт

Необходимо открыть реестр Windows. Как это сделать уже рассматривалось ранее и было представлено несколько подходов. В самом редакторе нас интересует меню «Файл». Там следует выбрать «Импорт». Будет предложено указать путь до сохраненной копии.

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

Восстановление с использованием live CD

В некоторых ситуациях загрузка операционной системы не будет представляться возможной. Это наиболее сложный вариант и для решения такой проблемы рекомендуется использовать специальный способ. Он заключается в осуществлении загрузки через live CD. Когда это выполнено, необходимо проследовать дальше – посетить корень диска, где установлена Windows. Предусматривается следующая инструкция:

  1. Создаем на диске с системой временную папку. Ей требуется дать название tmp. Именно здесь будут располагаться дефектные файлы реестра.
  2. Теперь осуществляем вход в папку C:\WINDOWS\system32\config
  3. Все файлы, найденные здесь, должны быть перенесены в созданную ранее временную папку C:\tmp\
  4. Идем в папку восстановления, которая располагается в директории C:\System Volume Information\. В ней должно располагаться некоторое количество папок следующего типа — _restore{длинный символьный код с дефисами}. Проверяем дату создания подобных папок и находим в списке самую позднюю.
  5. Внутри будут находиться папки с названиями RP1, RP2 и так далее. Нас опять интересует самая последняя. Важно ознакомиться с датой и уточнить, работали ли ОС в указанное время стабильно. Если нет, выбираем последнее работоспособное сохранение.
  6. Переходим в папку Snapshot\. Именно здесь располагаются резервные копии файлов реестра.
  7. Требуется использовать _REGISTRY_USER_DEFAULT, _REGISTRY_MACHINE_SECURITY, _REGISTRY_MACHINE_SOFTWARE, _REGISTRY_MACHINE_SYSTEM и _REGISTRY_MACHINE_SAM
  8. Указанные в прошлом пункте файлы копируются и ими производится замена аналогичных файлов реестра в директории C:\WINDOWS\system32\config. Требуется выполнить смену названия на DEFAULT, SECURITY, SOFTWARE, SYSTEM и SAM
  9. Для того, чтобы изменения вступили в силу, необходимо перезагрузиться.

Нередко можно столкнуться с запросом о том, как очистить реестр на Windows (Виндовс). Здесь можно использовать специализированное ПО или ручной метод. В первом случае, можно порекомендовать достаточно большое количество приложений. К наиболее популярным следует отнести Reg Organizer, CCleaner и Windows Cleaner. Данные программы отлично себя зарекомендовали – их возможности по оптимизации работы системы находятся на весьма высоком уровне.

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

Непосредственно процесс очистки требует удалить любые сведения об уже удаленной программе. Подобные данные содержатся в «HKEY_CURRENT_USER» и именно туда лежит наш путь. В подразделе Software требуется найти необходимую папку. Ниже на скриншоте показан пример для программы Скайп.

чистка реестра Windows

Создание и удаление разделов и параметров через файл с расширением reg

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

Создание подразделов или изменение параметров

  1. Осуществляем доступ к редактору реестра
  2. Выбирается тот подраздел, изменения для которого должны быть проведены
  3. Происходит нажатие на вкладку «Файл», где надо нажать «Экспорт»
  4. В поле «Имя файла» прописывается название документа для сохранения REG-файла с изначальными элементами реестра и нажимается кнопку «Сохранить»

Удаление разделов реестра или параметров

Для выполнения поставленной задачи требуется поместить дефис перед путем реестра. Следует рассмотреть это на простом примере. Имеем:

HKEY_LOCAL_MACHINE\Software

Из него необходимо выполнить удаление раздела Program. Это будет выглядеть следующим образом:

[-HKEY_LOCAL_MACHINE\Software\Program]

Удаление значения имеет схожий способ. В данном случае, дефис должен располагаться непосредственно перед знаком равенства. Расширим прошлый пример – теперь нужно удалить параметр ProgramValue. Это выполняется следующим образом:

[HKEY_LOCAL_MACHINE\Software\Program]
» ProgramValue»=-

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

Реестр Windows — Документация Работа с реестром Windows 1

Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [2].

В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах [1].

Открытие реестра

Поскольку файлов в реестре несколько, его нельзя открыть, например, в текстовом редакторе и внести какие-либо коррективы. Для работы с ним требуется специальная программа – редактор реестра, который является встроенным компонентом операционной системы Windows и вызывается путем ввода команды Regedit [4].

Существует несколько способов открыть редактор реестра.

Способ №1 – Открытие через утилиту «Выполнить»:

  1. Выбрать Пуск → Выполнить, либо нажать сочетание клавиш Win+R (Win — клавиша, между Ctrl и Alt в нижнем ряду клавиатуры, обычно на ней изображен значок Microsoft Windows win-key;
  2. В открывшимся окне ввести команду regedit;
  3. Нажать клавишу ОК.
Рис. 1 – Открытие через утилиту «Выполнить»

Рис. 1 – Открытие через утилиту «Выполнить»

Способ №2 – Открытие через поиск по меню «Пуск»:

  1. Открыть меню Пуск;
  2. Ввести в строке поиска regedit и запустить найденный файл, который отобразится в верхней части Пуска.
Рис. 2 – Открытие через поиск по меню «Пуск»

Рис. 2 – Открытие через поиск по меню «Пуск»

С другими способами можно ознакомиться в статье Три способа открыть редактор реестра Windows.

Структура реестра

Реестр имеет иерархическую структуру, которая напоминает файловую систему жесткого диска – с его каталогами, подкаталогами и файлами. Но называются элементы реестра по-другому: верхний уровень иерархии составляют разделы, каждый из которых может содержать вложенные подразделы, а также параметры. Именно в параметрах хранится основное содержимое реестра, разделы служат лишь для группировки схожих по назначению параметров [4].

Рис. 3 – Редактор реестра

Рис. 3 – Редактор реестра

Далее приведен краткий перечень и краткое описание стандартных разделов реестра. Максимальная длина имени раздела составляет 255 символов.

HKEY_CURRENT_USER

Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU.

HKEY_USERS

Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER является подразделом раздела HKEY_USERS. Вместо полного имени раздела иногда используется аббревиатура HKU.

HKEY_LOCAL_MACHINE

Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Наиболее интересным является подраздел Software, который включает в себя настройки всех установленных в системе приложений. Вместо полного имени раздела иногда используется аббревиатура HKLM.

HKEY_CLASSES_ROOT

Является подразделом HKEY_LOCAL_MACHINE\Software. Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE, так и в HKEY_CURRENT_USER.

Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes, переопределяют принятые по умолчанию и относятся только к текущему пользователю.

Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes. Данные из разделов, добавленных в HKEY_CLASSES_ROOT, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes, а не HKEY_LOCAL_MACHINE\Software\Classes.

HKEY_CURRENT_CONFIG

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

Примечание

Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в следующем узле: HKEY_LOCAL_MACHINE\Software\WOW6432Node

Файлы реестра на жестком диске

Основные файлы, отвечающие за формирование реестра хранятся в папке %SystemRoot%\System32\Config\. Обычно это C:\Windows\System32\Config\ и в зависимости от версии ОС их состав может несколько различаться.

Файл, хранящий личные настройки пользователя, «скрыт» в папке соответствующей учетной записи, например, в C:\Documents and Settings\Dmitry. Также файлы, отвечающие за пользовательские настройки, могут храниться в:

  • C:\Documents and Settings\%Username%\(Ntuser.dat);
  • C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat).

Еще есть резервные копии файлов реестра, созданные системой, хранятся они в

  • C:\Windows\System32\config\RegBack – для Windows 7 и Server 2008;
  • C:\Windows\repair – для XP и Server 2003.

Примечание

По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.

Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config.

Вспомогательные файлы для куста HKEY_CURRENT_USER хранятся в папке %SystemRoot%\Profiles\Имя_пользователя. Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.

Примечание

Куст (дерево) реестра (англ. hive) — это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных.

Таблица 1 — Соответствие кустов реестра и вспомогательных файлов
Куст реестраВспомогательные файлы
HKEY_LOCAL_MACHINE\SAMSam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\SecuritySecurity, Security.log, Security.sav
HKEY_LOCAL_MACHINE\SoftwareSoftware, Software.log, Software.sav
HKEY_LOCAL_MACHINE\SystemSystem, System.alt, System.log, System.sav
HKEY_CURRENT_CONFIGSystem, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log
HKEY_USERS\DEFAULTDefault, Default.log, Default.sav

Примечание

Например, кусту HKEY_LOCAL_MACHINE\Software соответствует на жестком диске файл C:\Windows\System32\config\SOFTWARE.

Рис. 4 – Файлы реестра на жестком диске

Рис. 4 – Файлы реестра на жестком диске

Как редактировать реестр Windows

Многим известно, что системный реестр Windows предоставляет широкие возможности по настройке этой операционной системы. В этой статье, ориентированной на неопытных пользователей, речь пойдет о том, как и что именно можно настроить с его помощью.

Что такое реестр Windows. Структура реестра Windows


Читатели, имеющие опыт редактирования реестра Windows, могут сразу перейти к просмотру описания конкретных параметров системы и ключей системного реестра, с помощью которых их можно изменить (внизу страницы). Если такого опыта у Вас нет, читайте все попорядку. Реестр Windows — очень важная часть операционной системы, в которой хранится вся информация о параметрах программного обеспечения и порядке его взаимодействия с составными частями компьютера. Поэтому путем редактирования реестра можно существенно изменить настройки ПК в нужном пользователю направлении. Этот способ предоставляет возможность вносить более существенные коррективы в систему, чем при помощи стандартных средств Windows. -Например-: Windows автоматически присваивает всем создаваемым ярлыкам название «Ярлык для + имя файла-оригинала». А если в реестре найти двоичный параметр с названием «link», (в разделе «HKEY_CURRENT_USER\Software\Microsoft \Windows\CurrentVersion\Explorer»), и изменить его значение с «1b 00 00 00» на «00 00 00 00», приставка «Ярлык для» к названию ярлыков больше додаваться не будет. Неопытным пользователям этот пример, наверное, покажется чем-то сложным и непонятным. Но это только на первый взгляд. На самом деле, РЕДАКТИРОВАТЬ РЕЕСТР WINDOWS ОЧЕНЬ ЛЕГКО. Просто, внимательно прочтите эту статью. Уверен, правильно редактировать реестр может любой пользователь. Структура реестра Windows строго иерархична и имеет четкое построение. Основная его составная часть – это ключи (или параметры), в которых и хранится вся информация (в нашем примере это ключ с названием «link»). Каждый параметр реестра Windows отвечает за определенное свойство системы. Ключи с данными о смежных настройках компьютера объединены в разделы, которые, в свою очередь, являются подразделами более крупных разделов и т.д. Параметры (ключи) реестра бывают нескольких видов (параметры DWORD, QWORD, двоичные, строковые и многострочные параметры и др.) в зависимости от сведений, которые в них содержатся. Информацию с этих ключей Windows считывает главным образом во время запуска, поэтому для того чтобы внесенные в реестр Windows изменения вступили в силу, нужно перезагрузить компьютер. Редактировать реестр можно через редактор реестра или при помощи твиков реестра.

Как работать в редакторе реестра Windows


Реестр WindowsЧтобы открыть редактор реестра Windows нужно нажать на клавиатуре кнопку «Windows» (обычно с изображением окошка, находится в нижнем ряду, слева, между кнопками Ctrl и Alt) и, удерживая ее, нажать кнопку «R» («К» в русской раскладке). Появится окно запуска программ. В нем нужно написать regedit и нажать кнопку «ОК».

Навигация в редакторе реестра Windows. Редактор реестра Windows состоит из двух окон. В левом окне отображается структура разделов реестра (проводник), в правом – параметры (ключи) реестра, содержащиеся в просматриваемом разделе. Если в левом окне редактора выделить определенный раздел (щелкнуть по нему мышкой), в правом окне будет отображаться список параметров, которые в нем содержатся.

Реестр WindowsЧтобы стало понятно, давайте вернемся к нашему примеру: откроем редактор реестра и попробуем найти двоичный параметр с названием link в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer. Для этого в левой части редактора двойным кликом мышки сначала открываем раздел HKEY_CURRENT_USER. Под ним появится список содержащихся в нем подразделов. Среди них находим и открываем раздел Software, в нем – раздел Microsoft и т.д. Когда доберемся до раздела Explorer и выделим его (щелчком мыши), в правом окне редактора появится список параметров, среди которых будет и параметр с названием «link». Чтобы изменить значение параметра реестра Windows, нужно дважды щелкнуть по нему левой кнопкой мыши. Откроется окошко изменения параметра. В нем в поле «значение» нужно внести необходимые коррективы и нажать кнопку «ОК». Создание нового параметра в реестре Windows. Сначала в левом окне редактора (проводнике) проходим к разделу, в котором нужно создать параметр, и выделяем его. Затем в правом окне щелкаем правой кнопкой мыши по пустому месту (не по параметрам, которые там есть) и в появившемся меню «создать» выбираем соответствующий вид создаваемого параметра. В списке появится новый параметр. Щелкаем по нему правой кнопкой мыши, выбираем «Переименовать», даем ему нужное название. Затем указанным в предыдущем пункте способом задаем ему необходимое значение. Чтобы удалить параметр из реестра Windows, нужно щелкнуть по нему правой кнопкой мыши и выбрать «удалить».

Твики реестра Windows


Твики реестра Windows (англ. tweaks — настройки) — это настройки программного обеспечения и операционной системы, хранящиеся в системном реестре. Твики реестра реализуются при помощи REG-файлов — файлов, которые при их запуске автоматически вносят необходимые изменения в системный реестр Windows. Результат такой же, как и при ручном редактировании реестра через редактор. Нужные REG-файлы можно создавать самостоятельно или же использовать уже готовые, созданные другими пользователями. При этом, REG-файл может изменять как один параметр реестра, так и целые их группы (все зависит от того, что в нем прописать). Реестр Windows По сути, REG-файл – это самый обычный текстовый файл с расширением .reg. Чтобы все стало ясно, откройте текстовый редактор «Блокнот» (пройдите «Пуск»- «Все программы»- «Стандартные»- «Блокнот») и в любом месте сохраните пустой файл 1111 с расширением reg. Для этого в блокноте нужно зайти в меню «Файл», выбрать «Сохранить как», в окне «Имя файла» указать 1111.reg и нажать кнопку «сохранить» (см. изображение справа, щелкните по нему мышкой для увеличения). Имя файла может быть любым, название 1111 взято только для примера. Главное, чтобы расширение было reg и обязательно через точку от названия (без пробелов). Теперь если сделать двойной щелчек мышки по сохраненному файлу, компьютер «спросит», действительно ли нужно добавить информацию из него в реестр. Если даже нажать на кнопку «да», никакие данные в реестр Windows добавлены не будут, поскольку наш REG-файл пока не содержит никакой информации. Для того, чтобы файл действительно работал, перед сохранением в него нужно внести определенные данные. Обратите внимание, что данные эти должны иметь строго определенную структуру. В противном случае, REG-файл по-прежнему работать не будет.

Если взять наш пример, то REG-файл, отключающий приставку «Ярлык для» в названии ярлыков, будет иметь следующий вид:


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
«link»=hex:00,00,00,00


Давайте разберемся, что к чему.Структура REG-файла В первой строке файла указывается информация о том, для редактирования какой версии Windows он предназначается. Если это Windows 98 или Windows NT, то в первой строке вписываем «REGEDIT4». Для более поздних версий Windows (2000, XP, 7 и др.) – «Windows Registry Editor Version 5.00» (без кавычек, точно как указано — со всеми пробелами, большими буквами и т.д.). Ничего больше в этой строке быть не должно. Вторая строка обязательно должна быть пустой. В третьей строке в квадратных скобках […] прописывается ветка (раздел) реестра, в которой находятся изменяемые параметры. В четвертой и последующих строках прописываются изменяемые ключи, которые находятся в указанном разделе, а также проводимые с ними действия (каждый изменяемый параметр в отдельной строке). Формат этих строк зависит от вида изменяемых ключей:

Двоичные параметры

Действие

Общий вид

Пояснения

Создание

«Название»=hex:00,00,00

Будет создан двоичный параметр с названием «Название» и значением 00 00 00. Слово hex указывает на то, что будет создан именно двоичный параметр. В REG-файлах значение для двоичных параметров указывается шестнадцатеричными числами, разделенными запятыми. Слово hex пишется маленькими буквами, двоеточие обязательно, без пробелов.

Изменение

«Название»=hex:00,00,00

Существующему двоичному параметру с названием «Название» будет задано значение 00 00 00 (см. комментарий в предыдущем пункте)

Удаление

«Название»=-

Существующий двоичный параметр с названием «Название» будет удален из реестра.

Параметры DWORD

Создание

«Название»=dword:00000000

Будет создан параметр DWORD с названием «Название» и значением 00000000. Большинство параметров DWORD имеют значение либо 1, либо 0. В REG-файлах значение для DWORD указываются в шестнадцатеричном формате. Поэтому 0 будет иметь вид 00000000, а 1 – 00000001. Слово dword пишется маленькими буквами, двоеточие обязательно, без пробелов.

Изменение

«Название»=dword:00000000

Существующему параметру DWORD с названием «Название» будет задано значение 00000000 (см. комментарий к предыдущему пункту)

Удаление

«Название»=-

Существующий DWORD параметр с названием «Название» будет удален из реестра.

Если заметили, строка для удаления DWORD параметра ничем не отличается от строки удаление двоичного параметра. Дело в том, что в одном разделе реестра не может существовать несколько параметров с одинаковыми названиями, даже если эти параметры будут разных видов. Не трудно догадаться, что строка для удаления параметров остальных видов будет иметь такой же вид.

Строковые параметры

Создание

«Название»=»Значение»

Будет создан строковый параметр с названием «Название» и значением «Значение». Обратите внимание: кавычки обязательны до и после знака «=». Без пробелов.

Изменение

«Название»=»Значение»

Существующему строковому параметру с названием «Название» будет задано новое значение «Значение».

Удаление

«Название»=-

Существующий строковый параметр с названием «Название» будет удален из реестра.

Об остальных видах параметров реестра говорить не будем, поскольку пользователями они редактируются редко. Последняя строка REG-файла обязательно должна быть пустой.Рассмотрим еще один пример:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore]
«1»=dword:00000000
«11»=»2″
«111»=hex:00,00,00
«1111»=-


Этот REG-файл в разделе реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore» создаст: • Параметр DWORD с названием «1» и значением «0» (если в разделе уже существует параметр DWORD с названием «1», то его значение станет «0») • Строковый параметр с названием «11» и значением «2» (если в разделе уже существует строковый параметр с названием «11», то его значение станет «2») • Двоичный параметр с названием «111» и значением 00 00 00 (если в разделе уже существует двоичный параметр с названием «111», то его значение станет «00 00 00») • Удалит из раздела параметр (какого бы вида он ни был) с названием «1111».А что же делать, если кроме этого нужно еще изменить параметры, находящиеся в другом разделе реестра? Все очень просто. Оставляем одну пустую строку после последнего параметра, после чего в квадратных скобках […] указываем новый раздел, а в последующих строках — параметры, которые в нем нужно изменить. Добавим к нашему примеру еще несколько строк:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore]
«1»=dword:00000000
«11»=»2″
«111»=hex:00,00,00
«1111»=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
«2»=»ххх»
«22»=-

Такой REG-файл, кроме изложенных выше действий, в разделе «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion» создаст строковый параметр с названием «2» и значением «ХХХ» и удалит параметр с названием «22». Последняя строка в таком REG-файле тоже обязательно должна быть пустой. Аналогичным образом можно создать REG-файл, изменяющий неограниченное количество параметров реестра. Это очень удобно: с помощью такого файла можно быстро одинаково настроить огромное количество компьютеров; можно создать REG-файл с нужными пользователю настройками и использовать его каждый раз после переустановки системы для быстрой ее оптимизации и т.д.

Что можно изменить в реестре Windows


В списке, расположенном ниже, лишь часть возможностей, содержащихся в системном реестре Windows. При желании, описание других ключей реестра можно найти в Интернете или других источниках. Будьте внимательны! Необдуманные манипуляции с реестром Windows или ошибки при его редактирования могут снизить стабильность системы вплоть до полной ее неработоспособности и необходимости переустановки. Перед тем, как осуществлять любые действия с системным реестром Windows, обязательно создайте его копию! Ее можно будет использовать для восстановления состояния реестра в случае возникновения каких-либо проблем после его изменения. Для создания копии системного реестра запускаем «Редактор реестра» (см. выше), заходим в меню «Файл» и выбираем «Экспорт». В открывшемся окне «Экспорт файла реестра» указываем место сохранения, имя файла копии реестра, в разделе «Диапазон реестра» (внизу окна) отмечаем галочкой «Весь реестр», жмем кнопку «Сохранить».

Описание

Необходимые изменения

REG-файл

Windows

Изменение внешнего вида Windows

1

Придать панели управления классический вид (как в Windows 2000)

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer должен находиться параметр dword с названием «ForceClassicControlPanel» и значением «1» (в десятеричном формате, в шестнадцатеричном – 00000001)

XP/Vista/7

2

Изменение скорости открытия меню «Пуск». По умолчанию, она составляет 400 миллисекунд, после изменений будет 100 (можно указать другую)

В разделе HKEY_CURRENT_USER\Control Panel\Desktop должен находиться строковый параметр с названием «MenuShowDelay» и значением «100» (или другим при желании)

2000/XP/ Vista/7

3

Установить 32-битный цвет отображения иконок. Особенно актуально в Windows 2000

В разделе HKEY_CURRENT_USER\Control Panel\Desktop \WindowMetrics должен находиться строковый параметр с названием «Shell Icon BPP» и значением «32»

2000/XP

5

Отображать крупные значки в меню «Пуск»

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Explorer\StuckRects2 должен находиться двоичный раздел с названием «Settings» и значением «28,00,00,00,ff,ff,ff,ff,02,00,00,00,03,00,00,00,3c,00,00,00,1e,\ 00,00,00,fe,ff,ff,ff,e4,03,00,00,02,05,00,00,02,04,00,00»

XP/Vista/7

6

Отображать мелкие значки в меню «Пуск»

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Explorer\StuckRects2 должен находиться двоичный раздел с названием «Settings» и значением «28,00,00,00,ff,ff,ff,ff,06,00,00,00,03,00,00,00,3c,00,00,00,1e,\ 00,00,00,fe,ff,ff,ff,e4,03,00,00,02,05,00,00,02,04,00,00»

XP/Vista/7

7

Не скрывать пароль к сетевым ресурсам (отключить отображение звездочек вместо символов пароля)

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\Policies\Network должен существовать параметр DWORD с названием » HideSharePwds » и значением «0» (или 00000000 в шестнадцатеричном формате)

XP/Vista/7

9

Отключить использование стилей для окон и папок

В разделе HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows \CurrentVersion\Explorer\VisualEffects\Themes должны существовать следующие параметры DWORD:
1. с названием «DefaultApplied» и значением 00000001 в шестнадцатеричном формате;
2. С названием «DefaultValue» и значением 00000000 в шестнадцатеричном формате;
3. С названием «DefaultByAlphaTest» и значением 00000000 в шестнадцатеричном формате

XP/Vista/7

10

Отключить использованием типичных задач для папок

В разделе HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows \CurrentVersion\Explorer\VisualEffects\WebView должны существовать следующие параметры DWORD:
1. с названием «DefaultApplied» и значением 00000001 в шестнадцатеричном формате;
2. С названием «DefaultValue» и значением 00000000 в шестнадцатеричном формате;
3. С названием «DefaultByAlphaTest» и значением 00000000 в шестнадцатеричном формате

XP/Vista/7

Изменение некоторых функций Windows

1

Автоматическое завершение всех приложений при выключении компьютера

В разделе HKEY_CURRENT_USER\Control Panel\Desktop должен находиться строковый параметр с названием «AutoEndTasks» и значением «1».

2000/XP

2

Отключить запрос пароля при выходе из ждущего режима

В разделе HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy должен находиться двоичный параметр с названием «Policies» и значением «01,00,00,00,00,00,00,00,03,00,00,00,10,00,00,00,00,00,00,00,03,\ 00,00,00,10,00,00,00,02,00,00,00,03,00,00,00,00,00,00,00,02,00,00, 00,03,00,\ 00,00,00,00,00,00,02,00,00,00,01,00,00,00,00,00,00,00,02,00,00,00, 01,00,00,\ 00,00,00,00,00,01,00,00,00,03,00,00,00,02,00,00,00,04,00,00,c0,01, 00,00,00,\ 04,00,00,00,01,00,00,00,0a,00,00,00,00,00,00,00,03,00,00,00,01,00, 01,00,01,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02, 00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,03,00, 00,00,00,\ 00,12,00,00,00»
Лучше, скачайте готовый регфайл.

2000/XP/ Vista/7

3

Отключить сообщение об ошибках на странице и их отладку в Internet Explorer

В разделе HKEY_CURRENT_USER\Software\Microsoft \Internet Explorer\Main должен находиться строковый параметр с названием «Disable Script Debugger» и значением «yes»

2000/XP/ Vista/7

4

Включить доступ к настройкам DVD в Windows Media Player

В разделе HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Player \Settings должен находиться строковый параметр с названием «EnableDVDUI» и значением «YES»

XP

5

Отключить добавление приставки «Ярлык для» к названию ярлыков при их создании

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer должен находиться двоичный параметр с названием «link» и значением «00 00 00 00»

2000/XP

6

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

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\Advanced должен находиться параметр DWORD с названием «EnableBalloonTips» и значением в «0» (или 00000000 в шестнадцатеричном формате)

XP/Vista/7

7

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

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\Advanced должен находиться параметр DWORD с названием «PersistBrowsers» и значением «1» (или 00000001 в шестнадцатеричном формате)

XP

8

Разрешить перетаскивание объектов из меню «Пуск» при помощи мыши

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Explorer\Advanced должен находиться параметр DWORD с названием «StartMenuChange» и значением «1» (или 00000001 в шестнадцатеричном формате)

2000/XP/ Vista/7

9

Отключить сообщение о просмотре вэб-страницы через безопасное соединение

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Internet Settings должен существовать параметр DWORD с названием «WarnOnZoneCrossing» и значением «0» (или 00000000 в шестнадцатеричном формате)

2000/XP
Vista

10

Отключить сообщение в браузере «Информация, передаваемая через Интернет, может стать доступной другим пользователям»

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Internet Settings\Zones\3 должен существовать параметр DWORD с названием «1601» и значением «0» (или 00000000 в шестнадцатеричном формате)

2000/XP
Vista

11

Не отображать раздел «Недавние Документы» в меню Пуск

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Policies\Explorer должен находиться двоичный параметр с названием «NoRecentDocsMenu» и значением «01 00 00 00».

XP/Vista/7

12

Отключить ведение учета последних открываемых документов

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Policies\Explorer должен существовать параметр DWORD с названием «NoRecentDocsHistory» и значением «1» (или 00000001 в шестнадцатеричном формате)

XP/Vista/7

13

Отключить сообщения о нехватке свободного места на дисках

В разделе HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion\Policies\Explorer должен существовать параметр DWORD с названием «NoLowDiskSpaceChecks» и значением «1» (или 00000001 в шестнадцатеричном формате)

2000/XP/ Vista/7

14

Ускорить открытие видео в формате AVI

Нужно удалить из реестра следующие разделы:
«HKEY_CLASSES_ROOT\CLSID\{87D62D94-71B3-4b9a-9489-5FE6850DC73E}»;
«HKEY_CLASSES_ROOT\SystemFileAssociations\.avi\shellex\PropertyHandler»;
«HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{87D62D94-71B3-4b9a-9489-5FE6850DC73E}\InProcServer32»

2000/XP/ Vista/7

15

Очистить историю введенных адресов в Internet Explorer

Нужно удалить из реестра раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs

2000/XP/ Vista/7

16

Ускорить загрузку операционной системы путем оптимизации расположения загрузочных файлов

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\ BootOptimizeFunction должен находиться строчный параметр с именем «Enable» и значением «Y».

XP/Vista/7

17

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

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug должен существовать строковый параметр с названием «Auto» и значением «0»

XP

18

Отключить восстановление системы

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore должен существовать параметры DWORD с названием «DisableSR» и значением «1» (в десятеричном формате 00000001)

XP

19

Включить ускоренную перезагрузку

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon должен находиться строковый параметр с названием «EnableQuickReboot» и значением «1»

XP

20

Не разрывать существующее соединение через dial-up-модем при переключении пользователей

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon должен существовать строковый параметр с названием «KeepRasConnections» и значением «1»

XP

21

Отключить автоматическое обновление системы

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows \WindowsUpdate\AU должен существовать параметры DWORD с названием «NoAutoUpdate» и значением «1» (в десятеричном формате 00000001)

2000/XP/ Vista/7

22

Заставить систему не создавать в разделе NTFS таблицу совместимости со старыми приложениями (для увеличения производительности)

В разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\FileSystem должен существовать параметры DWORD с названием «NtfsDisable8dot3NameCreation» и значением «1» (в десятеричном формате 00000001)

2000/XP/ Vista/7

23

Исправление проблемы с неправильным отображением кириллицы

В разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Nls\CodePage для строковых параметров с именами «1250», «1251», «1252» и «1253» нужно установить значение «c_1251.nls» (для каждого из этих параметров)

2000/XP/ Vista/7

24

Отключение автозагрузки со всех типов носителей

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\policies\Explorer должен существовать параметры DWORD с названием «NoDriveTypeAutoRun» и значением «000000ff» в шестнадцатеричном формате. Кроме того, в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\Cdrom должен находиться параметры DWORD с названием «AutoRun» и значением «0» (00000000 в шестнадцатеричном формате)

2000/XP

25

Отключить POSIX

В разделе HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\ Control SessionManager\SubSystems нужно удалить строки «Optional» и «Posix»

2000/XP

26

Отключить метку последнего доступа к файлам для разделов NTFS (ускорит открытие папок с большим количеством файлов)

В разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\FileSystem нужно создать параметр DWORD с названием «NtfsDisableLastAccessUpdate» и значением «1» (00000001 в шестнадцатеричном формате)

2000/XP/ Vista/7

27

Отключить кэширование DLL

В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Explorer нужно создать новый DWORD-параметр с названием AlwaysUnloadDLL и значением «1» (00000001 в шестнадцатеричном формате)

2000/XP

Настройки некоторых программ

1

Отключить отправку отчетов об ошибках в Office 2003

В разделе HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Common должны существовать параметры DWORD с названиями «DWNeverUpload», «DWNoExternalURL», «DWNoFileCollection» и «DWNoSecondLevelCollection» с значением «1» каждый (или 00000001 в шестнадцатеричном формате)

2000/XP/ Vista/7

Изменение параметров cистемного реестра Windows — mirAdmin

При настройке системы Windows могут возникать такие ситуации, когда тот или иной параметр невозможно изменить через пользовательский интерфейс. HKLM

Зачастую, выход кроется в редактировании системного реестра Windows, с помощью которого можно воздействовать на огромное количество настроек операционной системы.
Ниже мы рассмотрим, что такое реестр и как вносить в него изменения. Для удобства разобьём статью на небольшие разделы

Содержание статьи:

Определение и запуск системного реестра Windows

Определений термина реестр Windows можно дать множество, приведём относительно простое и доступное для понимания:

Системный реестр Windows — это база данных настроек и параметров операционной системы, имеющая древовидную структуру

То есть, огромное количество пользовательских и системных настроек ОС отражаются в этой виртуальной среде.

Виртуальным реестр можно считать потому, что он лишь упорядочивает и структурирует данные, которые физически хранятся в системных файлах на информационном носителе компьютера или формируются непосредственно в момент запуска Windows

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

Запуск редактора реестра при помощи команды Выполнить

Запуск редактора реестр через команду regedit в окне Выполнить

Запуск редактора реестра из проводника

  • Переходим в каталог C:\Windows
  • Запускаем исполнительный файл regedit.exe

Перед нами откроется окно редактора реестра.

Структура реестра Windows

Отображение информации в реестре имеет определённую структуру.
В правой части окна мы видим разделы и ветки реестра, каждая из которых ещё называется куст реестра, в левой же расположены ключи реестра и их параметры.

Разделы реестра

Структура системного реестра Windows

В каждом разделе реестра отображается заданная ему информация. В современных версиях ОС от компании Microsoft заложены пять разделов:

  • HKEY_CLASSES_ROOT (HKCR) — содержит параметры определения типов файлов и объектов
  • HKEY_CURRENT_USER (HKCU) — настройки текущего пользователя (учётной записи)
  • HKEY_LOCAL_MACHINE (HKLM) — общие настройки компьютера, относящиеся ко всем пользователям
  • HKEY_USERS (HKU) — отображает информацию о пользователях
  • HKEY_CURRENT_CONFIG (HKCC) — отображает параметры оборудования и подключенных устройств компьютера

В ранних версиях ОС Windows присутствовал ещё один раздел:

    • HKEY_DYN_DATA (HKDD) — содержащий динамически изменяемые данные о загрузке процессора, использовании оперативной памяти и прочих текущих параметрах

Типы данных реестра

Ключи реестра в Windows могут быть различных типов, не станем углубляться в особенности каждого из них, рядовому пользователю это знать не обязательно, просто приведём их ниже:

Строковый параметр
Двоичный параметр
Параметр DWORD (32 бита)
Параметр QWORD (64 бита)
Мультистроковый параметр
Расширяемый строковый параметр

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

Резервное копирование реестра

! Перед редактированием реестра всегда желательно создавать резервную копию изменяемой ветки или раздела

Ввод некорректных параметров в системный реестр Windows может привести к нестабильной работе и краху системы

Создание бэкапа реестра

Экспорт ветки реестра
Для создания бэкапа раздела реестра мы воспользуемся функцией экспорта в стандартной утилите regedit.

  1. Запускаем редактор реестра командой regedit из окна Выполнить или запуском одноимённого исполнительного файла из проводника (способы описаны выше)
  2. Правой кнопкой мыши жмём на нужный раздел и выбираем пункт Экспортировать
  3. В появившемся окне выбираем каталог для сохранения файла бэкапа, вносим имя файла и нажимаем кнопку Сохранить.

Восстановление реестра из бэкапа

Если по каким-то причинам возникнет необходимость восстановления данных реестра из резервной копии, то нам нужно будет только запустить файл бэкапа с расширением *.reg и согласиться на внесение изменений в реестр.

Удаление записей из системного реестра Windows

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

Отсюда можно сделать вывод, что процесс редактирования реестра делится на несколько типов:

  • изменение параметров существующих ключей;
  • добавление ключей в реестр с присвоением им нужного значения;
  • удаление из реестра лишних ключей или даже кустов.

Сразу пройдёмся по последнему пункту, касаемо удаления записей из реестра.
Чаще всего это бывает нужно после удаления софта для чистки хвостов. Дело в том, что некоторые программы, работающие в Windows среде, при установке и в процессе работы активно взаимодействуют с реестром системы, добавляя туда записи с технической информацией. Но при деинсталляции затираются в реестре далеко не все строки. Частично эту проблему решают программы uninstaller-ы от сторонних разработчиков, но встречаются и случаи, требующие ручного вмешательства.

Вирусы в реестре WindowsПосле всего вышесказанного у кого-то может возникнуть резонный вопрос: зачем вообще чистить реестр от ненужных записей?
Ответ прост: во-первых, иногда оставшиеся записи в реестре после удаления программы мешают повторной установке того же софта; во-вторых, записи реестра хранятся в файлах большого объёма, увеличение которого негативно сказывается на фрагментации жесткого диска и отзывчивости системы.

Ещё одной причиной для чистки реестра может послужить обнаружение в нём записей о вредоносных программах. Такими зловредами могут быть и баннерные вирусы, и трояны, и рекламные ссылки, терроризирующие пользователя постоянным запуском заданных web-страниц в браузере. О способах избавления от последних, кстати говоря, мы писали в соответствующей статье: Стартовая страница браузера. Решение проблем

Добавление и изменение параметров ключей в реестре Windows

Мы уже рассматривали пример настроек параметров Windows через добавление записей реестра в статьях Открытие проводника Windows 10 на закладке Этот компьютер и Автозагрузка. Добавление приложений в автозагрузку Windows.

Давайте посмотрим, каким образом можно изменить параметр существующего ключа. Для примера произведём отключение контроля UAC через реестр (User Account Control — контроль учётных записей).

Контроль UAC в Windows 10

Запускаем редактор реестра Windows.

Далее, в левой части окна переходим к ветке

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Теперь в правой части окна находим ключ EnableLUA и кликаем по нему двойным щелчком мышки.
В поле Значение меня 1 на 0 и нажимаем кнопку OK

Отключение контроля UAC в Windows 10

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

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

На этом закончим знакомство с системным реестром Windows.
В статье Создание reg-файлов. Синтаксис записей реестра мы подробнее рассмотрим тему о том, как создавать reg-файлы для автоматизации работы с реестром, чтобы не править нужные параметры вручную. О том же, как работать с реестром из командной строки, мы поговорим в рамках отдельной публикации Редактирование реестра Windows из командной строки, bat-файлы

Прямой распил реестра Windows — «Хакер»

Содержание статьи

 

Внедряемся в святая святых системы минуя стандартные механизмы

Сегодня мы попробуем залезть в реестр Windows с черного хода, без использования штатных WinAPI-функций, для этого предназначенных. Что нам это даст в итоге? Возможность писать и читать из реестра напрямую, в обход ограничений, установленных разработчиками антивирусных решений!

Забегая вперед, отмечу: тема эта интересна, но тут целый набор серьезных проблем. Хотя кто сказал, что нам это не по плечу? 🙂

С точки зрения операционной системы Windows, реестр — это уникальная кладовка. В этой своеобразно выстроенной иерархической базе данных хранятся настройки, данные, регистрационная информация и прочая хрень почти обо всем в системе, начиная с программ и заканчивая настройками конкретного пользователя. В реестре хранится практически все. Несмотря на то что некоторые программы предпочитают хранить свои настройки в ini-конфигах (особенно программы, написанные для Win 3.11. – Прим. ред.), сама Windows всю нужную информацию о самой себе считывает из реестра. Справедливости ради отметим, что в *nix-like операционных системах до сих пор господствует система хранения настроек во всевозможных конфигах.

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

К примеру, так называемые точки восстановления — это копии реестра. Они широко применяются пользователями при возникновении различных проблем как с операционной системой, так и с программным и аппаратным обеспечением.

Надо сказать, что 99% информации о реестре Windows — это описание основных ключей плюс советы, как с ними работать. Но как работает с реестром сама операционная система? И сможем ли мы эмулировать ее действия? Давай немного порассуждаем.

Реестр — одновременно и сильная и слабая сторона Windows. Сильная сторона реестра в том, что для разработчиков программного обеспечения отпадает необходимость манипулировать туевой хучей конфигов, как это, например, реализовано в никсах. Удобен реестр и для создателей COM-компонентов — система автоматом регистрирует такой компонент в реестре и облегчает задачу по его дальнейшему использованию.

Слабость реестра в том, что доступ к модификации чувствительных областей реестра позволяет управлять Windows любой программе, написанной каким-нибудь новоявленным малварщиком. Вспомни хотя бы самую знаменитую ветку реестра Windows, позволяющую запускать программы на старте ОС :).

Как Windows работает с реестром

Если в Windows 98 реестр могли починять все, кому это взбредет в голову, то начиная с Windows XP доступ к реестру имеют только пользователи с учетной записью администратора. В Vista+ доступ к реестру находится под защитой UAC. Оно и понятно.

Надо признать, что с выходом Win7 концепции безопасности при работе с реестром были пересмотрены в лучшую сторону. Например, под защитой находится ключевая ветвь реестра HKEY_LOCAL_MACHINE. В общем случае попытка что-то записать в нее будет перенаправлена в соответствующую ветку HKEY_CURRENT_USER для текущего пользователя.

Для работы с реестром напрямую Windows предлагает программисту целый набор WinAPI, которые должны быть знакомы любому системному разработчику, — это Reg*-функции, такие как RegOpenKey, RegQueryValue и так далее. В ядре Win это NtOpenKey, NtQueryValueKey и целый ряд других. Описывать их особого смысла нет — всю документацию по надлежащему использованию этих функций можно найти в MSDN.

Здесь стоит отметить вот что. Антивирусы и проактивки для контроля за пользовательскими действиями устанавливали перехваты на упомянутые функции, как в ядре, так и в юзермоде.

С выходом Win7 x64 ситуация изменилась, и я уже об этом как-то писал. Разработчики Windows решили отказаться от возможности перехватывать потенциально опасные функции в ядре Win. Теперь переменная KeServiceDescriptorTable в x64 больше экспортируется, да и переписать нужный участок кода не выйдет — PatchGuard не даст. Есть, конечно, садомазохистские решения по обходу этих ограничений — но там гемора будет больше, чем профита. Тем более что Microsoft предлагает удобные колбеки ObRegisterCallbacks для контроля за реестром.

 

INFO

Информации в Сети о структурах, описывающих основные файлы реестра, очень мало. И почти все они на английском. Начальные знания можно найти здесь. Кроме этого, хорошо про реестр написано в библии системщика «Внутреннее устройство Windows» от товарищей М. Руссиновича и Д. Соломона.

Но что же такое реестр на самом деле? Если заглянуть в папку WINDOWSsystem32config, то можно увидеть там несколько файлов: system, software, security, SAM и несколько других.

Это файлы реестра.

Файлы реестра Windows

Однако несправедливо будет говорить о реестре просто как о некоем сочетании файлов, загруженных в память. Многое из того, что содержит реестр, носит динамический характер, то есть ряд значений высчитывается на этапе загрузки самой системы, в первую очередь это касается определенных параметров железа. Например, таков подраздел реестра HKEY_DYN_DATA, данные которого при загрузке операционной системы размещаются в оперативной памяти и находятся там вплоть до завершения работы операционной системы. То же, кстати, можно сказать и о ключевом подразделе HKEY_LOCAL_MACHINE, который не имеет своего соответствующего файла на диске, но фактически формируется из других файлов реестра, таких как software, system и прочие.

Таким образом, реестр изнутри можно весьма приблизительно назвать «виртуальным сочетанием файлов реестра». После старта системы эти файлы находятся как в файле подкачки (paged pool), так и в невыгружаемой памяти (nonpaged).

Для того чтобы научиться работать с реестром напрямую, без знаний его внутренней структуры не обойтись никак. В целом Microsoft никогда не раскрывала тайны внутренней структуры файлов, составляющих реестр, поскольку это угрожает безопасности. По моим наблюдениям, все имеющиеся описания файлов реестра и его структуры (а их, кстати совсем чуть-чуть) — результаты изысканий пионэров-исследователей. Наиболее законченное, на мой взгляд, такое «исследование» можно взять здесь, принадлежит оно товарищу Питеру Норрису.

Не будем вдаваться сейчас в подробности организации и структуры реестра, дело это долгое, нудное и в рамки статьи точно не вписывается. Здесь важно уяснить, что реестр — иерархическая древоподобная структура, иногда также говорят, что она похожа на пчелиные соты.

Сразу огорчу: запросто пошаманить напрямую с реестром в юзермоде не получится, система не даст этого сделать, как это обычно бывает с файлами, занятыми другими процессами. Если попытаться извернуться, то можно только прочесть такой «занятый» файл, и то если угадать с флагами, с которыми он был открыт. К сожалению, записать в интересующий нас «файл реестра» информацию не выйдет. Кстати, фича с записью нужной информации в реестр может прокатить, если писать в реестровские *.BAK-файлы, они точно доступны под запись.

А вот из ядра не то что прочитать, но и записать нужную информацию в файлы реестра очень даже можно.

Итак, следи за рукой :).

Первое, что может прийти в твою светлую голову, — открыть файл реестра напрямую и что-то туда записать.

Теоретически так сделать можно, для этого нужно, во-первых, уметь работать с «занятыми» файлами (способы ищи в Сети) и, во-вторых, как я уже говорил выше, надо знать внутреннюю структуру файлов реестра. Метод этот довольно топорный, но, несмотря на свою бредовость, он вполне жизнеспособен, хотя его и трудно реализовать на практике (попробуй поэкспериментировать с ним самостоятельно).

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

Первый способ заключается в том, что для конфигурационного менеджера (Configuration Manager, часть операционной системы, если ты не в курсе) реестр есть не более чем набор строго определенных структур в операционной памяти, с которыми, как оказывается, очень даже легко работать. Какие это структуры, спросишь ты? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, куча CM_* структур, используемых конфиг-менеджером для управления реестром. С точки зрения операционной системы, реестр — это просто набор регламентированных структур в оперативной памяти. К примеру, сигнатура «regf», определяющая «файл реестра», есть заранее определенная константа:

define HBASE_BLOCK_SIGNATURE 0x66676572  typedef struct _HBASE_BLOCK { ULONG Signature;  //0x66676572  ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER TimeStamp; ....  }
А вот и сигнатура «regf»…

То есть смысл всего этого моего монолога в том, что существует шикарная возможность манипуляции с реестром на уровне операционной системы, но при этом не используя ее штатные средства. Как это возможно? Мы просто сэмулируем действия самой операционной системы, точно так, как она сама работает с реестром! Важно, как я уже говорил, понять, что для самой ОС реестр не более чем набор соответствующих структур в памяти.

Если у нас будет доступ к файлам реестра на уровне ядра, то чем мы хуже самой ОС, чтобы установить свой порядок?

И тут на сцене появляется наиболее интересный вопрос — как найти эти самые структуры в памяти? Верно, штатных средств системы для решения этого вопроса нет, поэтому придется выкручиваться по-хитрому.

Зная, как выглядят структуры, нужно вспомнить, что каждый файл, улей реестра, имеет свою константную сигнатуру. Например, «regf» — это 0x66676572. Для улья сигнатура будет равна 0xBEE0BEE0. Имея доступ к памяти из ядра, мы можем довольно легко найти эти сигнатуры в памяти, просто просканив ее. Еще можно просканить память в поисках сигнатуры «CM10» — именно она присваивается конфиг-менеджером блоку подкачиваемой памяти, который выделяется под структуру CMHIVE. Полагаю, найдя в памяти интересующий нас элемент, ты придумаешь, что делать с ним дальше :).

Как, к примеру, изменить значение ячейки реестра? Значение хранится в поле CM_KEY_VALUE->Data, поэтому, если у тебя возникнет задача изменить какое-либо поле в конкретном ключе реестра, ищи значение именно там:

 typedef struct _CM_KEY_VALUE  {  WORD Signature; // #define CM_KEY_VALUE_SIGNATURE 0x6B76  WORD NameLength;  ULONG DataLength;  ULONG Data; //<---------- данные ячейки будут здесь  ULONG Type;  WORD Flags;  WORD Spare;  WCHAR Name[1];  } CM_KEY_VALUE, *PCM_KEY_VALUE;

Второй вариант является своеобразной модификацией первого. Если знаешь, существует одна особенность при работе с реестром — все изменения, то есть «создание новых ключей / запись / удаление ключей», как правило, вступают в силу после перезагрузки системы (ну или после перезагрузки эксплорера, это такой хак-метод). До этого все изменения находятся словно в подвешенном, «dirty»-состоянии. Мало того, система при обращении с реестром общается с ним через кеш файловой системы. Это понятно — обращений к реестру может быть сотни в секунду, соответственно, полагаться при этом на быстродействие файловой системы неразумно, тут никакое быстродействие не спасет. Поэтому система и работает с реестром, что называется, виртуально, через кеш файловой системы. И тут, чтобы вытащить кишки реестра на свет, надо залезть в кеш! Как это делается, уже описывалось в тырнетах, в том числе и в www.xakep.ru.

Что сказать в итоге? Предложенная читателю в статье вариация на тему прямого контроля за реестром носит исключительно экспериментальный характер. Не спорю, она тяжеловата для практической реализации, и многие скажут, что уж лучше использовать нормальные WinAPI-функции, предназначенные для работы с реестром, — и будут в чем-то правы. Однако реализованная die_hard на деле либа, основанная на приведенных в статье принципах, будет обладать поистине термоядерной силой, неподвластной ни аверам, ни самой операционной системе.

Засим закончу. Удачного компилирования и да пребудет с тобой Сила!

 

WWW

Обязательна к прочтению статья Марка Руссиновича о реестре «Inside the Registry», нашелся даже русский перевод. Замечательная тулза для сбора информации о реестре: http://goo.gl/iSSVy.

Александр Эккерт, [email protected]

Leave a comment