Системен регистър на Windows. Регистър на Windows - основите на основите

Ако операционната система е била инсталирана на компютър за дълго време и през цялото това време никога не е била преинсталирана, тогава потребителите, като правило, отбелязват намаляване на скоростта на нейната работа и възникване на периодични повреди. Това може да се прояви в бавно зареждане, продължително отваряне на някои програми, в появата на диалогови прозорци за възникналите грешки. И колкото по-дълго човек работи на компютър, толкова повече повреди и неизправности забелязва, а с течение на времето работата на такъв компютър може да се превърне в истински кошмар.

Виновникът за всички тези изброени проблеми може да бъде системният регистър - много важен компонент на операционната система. Ето защо дори и начинаещите потребители не биха навредили да знаят неговата цел, въздействието върху цялостната работа на операционната система, както и средствата за наблюдение и грижа за нея.
Така че рано или късно потребителят се сблъсква с въпроса - или преинсталирайте операционната система с всички програми и преконфигурирайте нейния потребителски интерфейс, или се опитайте да "почистите" системата и да я върнете към предишната си производителност.

ОПИСАНИЕ И ЦЕЛ

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

Значението на системния регистър на Windows е трудно да се надцени. От това колко вярна информацията му зависи колко ефективно ще работят всички възли на компютъра, както софтуер, така и хардуер. Ако потребителят започне да забелязва някакви проблеми с компютъра си, това е ясен знак, че е възникнала грешка в системния регистър и някои от настройките му са се объркали. Ако повредата в системния регистър е сериозна, тогава потребителят няма да може да стартира Windows и операционната система ще трябва да бъде преинсталирана.

Системният регистър се съхранява в X: \ Windows \ System32 \ с config, където X е буквата на системното устройство.

РЕГИСТРИ НА КОРЕННА СИСТЕМА

Регистърът на Windows се състои от няколко основни раздела:

  • - HKEY_CURRENT_CONFIG (HKCC) - този раздел съдържа цялата информация за хардуерния профил, който се използва на локалната машина по време на стартиране на системата;
  • - HKEY_CURRENT_USER (HKCU) - този раздел съхранява информация за конкретен потребител, който е влязъл в системата и в момента работи в нея. Този клон съхранява своите папки, настройки на екрана, зададени параметри за контролния панел;
  • - HKEY_CLASSES_ROOT (HKCR) - този раздел съдържа данни за разширенията на файлови типове и приложения, които ще се отварят при стартирането им;
  • - HKEY_USERS (HKU) - този клон съхранява информация за всички заредени активни потребителски профили на конкретен компютър;
  • - HKEY_LOCAL_MACHINE (HKLM) - клон за съхранение на информация за зареждане на Windows OS, информация за драйвери на устройства и компютърен хардуер;
  • - HKEY_USERS (HKU) - клонът съхранява индивидуалните настройки на профила на всеки потребител, който е регистриран в системата. Той също така съхранява информация за профила по подразбиране за новите потребители, които се създават.

Всеки главен ключ на системния регистър съдържа много подсекции, които от своя страна могат да имат свои собствени множество подсекции, които съхраняват системните настройки. Йерархията на регистъра е много сложна и броят на секциите в нея е просто огромен, така че в рамките на този материал просто трябва да разберем самия принцип на изграждане на неговата структура, така че ако е необходимо, можете да намерите параметъра имате нужда.

ВЪЗДЕЙСТВИЕ НА РЕГИСТЪРА ВЪРХУ РАБОТАТАWINDOWS

Както беше отбелязано по-рано, скоростта на системата и нейната стабилност директно зависят от състоянието на регистъра. Най-често системата започва да се „бави“, когато регистърът нарасне по размер. И колкото по-голям е, толкова по-дълго е необходимо за зареждане на компютъра, тъй като при стартиране на ОС системният регистър винаги се проверява за грешки, след което се архивира. Освен това, колкото повече софтуер има на компютъра, толкова по-голям става регистърът.

В същото време Windows е проектиран по такъв начин, че работата на всеки софтуер, било то обикновена помощна програма или супер игра, винаги ще изисква взаимодействие със системния регистър за намиране на необходимите параметри, които стават все по-трудни за find, толкова по-голям е размерът на регистъра и броят на клоновете в него.

Има още един важен фактор, влияещ върху скоростта на Windows, но преди да говорим за него, нека направим малка забележка. В компютрите има два основни типа памет - RAM (памет с произволен достъп), известна още като памет с произволен достъп, и ROM (памет само за четене), която включва твърди дискове, флаш памети и други компоненти, които съхраняват вашите данни. RAM е много бърза памет, която ви позволява незабавно да обменяте информация с централния процесор, но ROM е много по-бавен.

Сега, нека продължим, забавянето на отварянето на програмите много често е причинено от факта, че няма достатъчно RAM за бързото им зареждане. И често, за да осигури необходимото количество памет за дадена програма, системата я взима от общия й обем (комбинация от RAM и ROM), като започва да се отнася до пространството на твърдия диск, т.е. има т. нар. "суап" (част от информацията се записва на твърдия диск). В резултат на това, когато при зареждане или стартиране на приложение, то се нуждае от необходимата информация, записана на диск, тя се чете много по-дълго, отколкото ако системата ги е взела от RAM.

За да избегнете подобна ситуация, е необходимо да изключите всички ненужни или рядко използвани програми от влизане в RAM.

Но факт е, че един от основните източници на замърсяване на "RAM" на вашия компютър е регистърът, данните, от които системата на Windows се зарежда при стартиране, без да разбирате дали имате нужда от тях или не. Сред тях може да има "следи" от отдавна изтрити програми, приложения или техни параметри, които едва ли ще ви трябват. По този начин, ако не обърнете достатъчно внимание на състоянието на системния регистър, целият този боклук ще затрупа ценно място в RAM.

Много често в процеса на използване на компютър пред потребителите започват да се появяват диалогови прозорци с всякакви грешки, които се появяват в Windows. Много от тях са резултат от неправилни промени, направени в системния регистър, които са в конфликт със системните настройки. Това може да се случи поради подмяната на стандартните библиотеки с по-стари версии или след внезапното им премахване, например след вирусна инфекция и последващо почистване на компютъра.

МЕТОДИ ЗА РЕДАКТИРАНЕ НА РЕГИСТЪРА

Потребителят може да реши всички проблеми с "раздутия" регистър по два начина: ръчно или с помощта на програми, но във всеки от тези случаи ще бъдат направени промени в системния регистър.

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

И все пак, ако решите сами да направите промени в системния регистър, тогава най-оптималното решение би било да използвате помощната програма за редактор на системния регистър, вградена в Windows. За да стигнете до редактора на системния регистър, има специална команда "regedit", която трябва да бъде въведена в прозореца Run (извиква се чрез натискане на клавишите Windows + R).

След стартиране на помощната програма, потребителят ще види прозорец, разделен на две части, в едната от които се показват секциите, подсекциите и клоновете на системния регистър, а в другата - параметрите на елемента, който потребителят е избрал в регистър.

Също така в редактора на системния регистър, в раздела Редактиране, има опция за търсене (извиква се чрез натискане на клавишите Ctrl + F), която търси посочените думи в имената на раздели, имена на параметри и техните стойности. Това е много удобна функция, която позволява например да почистите системния регистър от следи от ненужна програма по нейното име.

Когато настройвате системния регистър ръчно, трябва да сте много внимателни. Едно неправилно действие и работата на системата ще бъде напълно нарушена и Windows ще трябва да бъде преинсталиран.

Потребителите, които тепърва започват да разбират как да работят с компютър, често питат кога могат сами да направят промени в регистъра и кога трябва да се обърнат за помощ към професионалист. Ако е възможно, винаги трябва да се извика специалист, ако възникнат проблеми с регистъра, или поне да се покани опитен приятел. Силно обезкуражено е неспециалистът да прави корекции на валидните вписвания. Освен това, преди да направите корекцията, определено трябва да направите резервно копие на системния регистър, след което в случай на неправилни действия, които ще доведат до неработоспособност на системата, ще бъде възможно да възстановите регистъра от архива чрез същата помощна програма който беше използван за извършване на промените. Също така трябва да се помни, че в никакъв случай не трябва да заменяте системния регистър на една версия на Windows със системния регистър на друга версия.

Най-честите грешки и техните последици при коригиране на регистъра от любители са изтриването или промяната на необходимите раздели и ключове, след което някои програми може да спрат да работят, да не се зареди потребителски акаунт или да възникне пълен отказ на системата.

РЕГИСТРАЦИОНЕН МОНИТОРИНГ

Регистърът на Windows е отражение на това как работи операционната система. И за да разберете, че всичко в системата работи без прекъсвания, е необходимо постоянно да го наблюдавате. Идеалният вариант е да използвате за наблюдение някаква популярна програма, създадена специално за тази цел. Защо да го инсталирате и използвате? За да се анализира работата на програмите. Потребителят винаги ще може да види какви процеси се извършват в системата, кои програми се изпълняват и кои от тях най-често се отнасят към регистъра и ако види нещо подозрително, ще може да предприеме мерки за отстраняване на проблемите .

Помощните програми за наблюдение са доста лесни за използване. Дори човек, който няма специално образование, може да ги разбере. И това е техният голям плюс, тъй като е желателно всички потребители, както опитни, така и начинаещи, да знаят поне приблизително какво се случва в системния регистър на техния компютър. Например, можете да използвате една от най-популярните помощни програми за наблюдение на системния регистър - Registry Monitor (RegMon).

РЕГИСТРИРАЙТЕ ГРИЖИ

Инсталирайки и след това деинсталирайки различни програми, потребителят на Windows не винаги знае, че по правило пълната информация за тях от системния регистър не се изтрива. Винаги има някакви "опашки", които допълнително забавят работата на системата. За да предотвратите това, е необходимо не само да наблюдавате регистъра, но и да осигурите грижи за него. За да направите това, не е необходимо сами да търсите останалите записи в регистъра; това може да стане с помощта на специални програми, чието съществуване вече беше споменато по-горе. jv16 PoverTools, CCleaner, Reg Organizer, RegCleaner и други се справят добре с тази работа. С тяхна помощ потребителят може не само да почисти системния регистър от "боклук", но и да дефрагментира твърдия диск, да редактира стартирането, да изчисти историята на браузъра, да изтрие остарели файлове за възстановяване на системата и т.н.

ЗАКЛЮЧЕНИЕ

Възможността за работа с регистъра е огромен плюс за потребител от всяко ниво. В този случай, без да чакате външна помощ, можете самостоятелно да подобрите или възстановите производителността на вашата операционна система в случай на сериозни проблеми. Вярно е, че още по-важно е да не доведете работещата си операционна система до плачевно състояние, като наблюдавате регистъра или поне непрекъснато го почиствате от „боклук“.

Като цяло повечето от проблемите с Windows, които възникват поради проблеми в системния регистър, могат да бъдат решени самостоятелно с помощта на експертни съвети, които те благоприятно публикуват в Интернет. Вярно е, че за да ги използвате, във всеки случай трябва, поне в общи линии, да знаете какво представлява регистърът и как да правите промени в него. Е, ако не сте успели да се справите сами с проблемите, вашите основни познания ще ви помогнат да обясните правилно същността на проблема на специалист по компютърни услуги, което значително ще ускори процеса на неговото отстраняване.

Регистърът на Windows или системният регистър е йерархично структурирана база данни от параметри и настройки в повечето операционни системи Microsoft Windows.

Регистърът съдържа информация и настройки за хардуер, софтуер, потребителски профили, предварителни настройки. Повечето от промените в контролния панел, файловите асоциации, системните политики, списъка на инсталирания софтуер се записват в системния регистър.

Регистърът на Windows беше въведен, за да рационализира информацията, съхранявана преди в много INI файлове, за да осигури единен механизъм (API) за писане и четене на настройки и да се отървете от проблемите с кратките имена, липсата на диференциране на правата за достъп и бавен достъп до ini файлове съхранявана във файловата система FAT16, която имаше сериозни проблеми с производителността при търсене на файлове в директории с голям брой от тях. С течение на времето (най-накрая - с появата на файловата система NTFS) проблемите, решени от регистъра, изчезнаха, но регистърът остана поради обратна съвместимост и присъства във всички версии на Windows, включително последната. Тъй като няма реални предпоставки за използване на такъв механизъм, Microsoft Windows е единствената използвана днес операционна система, която използва механизма на регистъра на операционната система. Като цяло регистърът е рудимент.

Регистърът на Windows в момента.

Регистърът, както се използва от Windows и както го вижда потребителят в процеса на използване на програми за работа с регистъра, се формира от различни данни. За да получите това, което потребителят вижда при редактиране на системния регистър, се случва следното.

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


След това, в процеса на всяко зареждане на системата, както и в процеса на всяко влизане и излизане на всеки потребител, се формира определен виртуален обект, наречен "registry" - обектът REGISTRY \. Данните за формиране на "регистра" са взети отчасти от самите файлове (Софтуер, Система ...), отчасти от информацията, събрана от ntdetect при стартиране (HKLM \ Hardware \ Description).

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

За да редактирате, преглеждате и изучавате регистъра с помощта на стандартни инструменти на Windows (програмите regedit.exe и regedt32.exe), са налични клоновете на системния регистър. След редактиране на системния регистър и/или извършване на промени в него, тези промени се записват незабавно във файловете.

Въпреки това, има програми на трети страни, които ви позволяват да работите директно с файлове.

Програмите за оптимизация на системния регистър, tweakers, както и инсталаторите и деинсталаторите на програми работят чрез специални функции за работа с регистъра.

Къде са файловете в системния регистър на Windows?

Файловете на системния регистър се намират в папката windows \ System32 \ config \, а също така има ключ на потребителския регистър във файла % userprofile% \ ntuser.dat.Архивираните файлове на системния регистър се намират в папката windows \ System32 \ config \ RegBack.

Кои са основните ключове (кошери) на системния регистър?

раздел HKEY_CLASSES_ROOT

Това е основният ключ на системния регистър на Windows, той съдържа файлови асоциации, които свързват типове файлове с програми, които могат да ги отварят и редактират, и регистрации на класове за обекти на компонентен обектен модел (COM). Последното предоставя възможност за промяна на невероятен брой правила за поведение на системата - не трябва да правите това без основателна причина.

раздел HKEY_CURRENT_USER

Той съхранява настройките на текущо активния потребител. Клонът съдържа потребителски папки, различни персонални настройки и параметри на контролния панел. Тази информация взаимодейства директно с потребителския профил. Този клон се състои от няколко подсекции, които съдържат пътищата на звуковите файлове, използвани за озвучяване на системни събития; различни данни, които могат да се променят в контролния панел, например подреждането на иконите; информация за текущата клавиатурна подредба, потребителски настройки за приложения и др.

раздел HKEY_LOCAL_MACHINE

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

раздел HKEY_USERS

Този клон съдържа информация за профилите на всички потребители на този компютър (потребителско име, настройки на работния плот и т.н.). Този раздел също така съхранява настройките по подразбиране за работния плот, менюто "Старт" и т.н. Те са необходими, когато нов потребител влиза за първи път. В този момент настройките по подразбиране се копират в неговия профил и всички следващи промени, направени от потребителя, ще бъдат запазени в този клон.

раздел HKEY_CURRENT_CONFIG

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

HKEY_DYN_DATA

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

Как да редактирам регистъра?

Всичко е само в търсенето на Windows, пишем regeditи стартирайте редактора на системния регистър като администратор. Преди да извършите каквито и да е операции в системния регистър, трябва да направите резервно копие! Ако нещо се обърка, можете да се върнете към работеща версия на системния регистър.


Оптимизиране на регистъра.

Има дебат дали си струва да оптимизирате системния регистър на Windows. Бих казал, че оптимизацията е по-полезна за по-слаби компютри, отколкото за мощни. Но има още един нюанс: понякога неизчистените параметри на системния регистър могат да причинят неуспехи и конфликти на софтуер и хардуер, така че препоръчвам да почистите системния регистър от ненужни данни.


Освен това регистърът се фрагментира с течение на времето, това се случва и поради почистване. Ето защо, тези, които извършват почистване на системния регистър през цялото време, също препоръчвам понякога да дефрагментирате системния регистър.

За да оптимизирате системния регистър на Windows, можете да използвате програми като WinOptimizer, Reg Organizer, Auslogics Boostspeed.


Ако имате въпроси, вижте видеото по-горе.

Днес ще се опитаме да влезем в системния регистър на Windows от задната врата, без да използваме стандартните функции на WinAPI, предназначени за това. Какво ще ни даде в крайна сметка? Възможността за директно записване и четене от регистъра, заобикаляйки ограниченията, зададени от разработчиците на антивирусни решения!

Гледайки напред, ще отбележа: тази тема е интересна, но има цял набор от сериозни проблеми. Въпреки че кой каза, че не можем да си го позволим? 🙂

Какъв е регистърът, или малко текстове

От гледна точка на операционната система Windows, регистърът е уникално килерче. Тази специално изградена йерархична база данни съхранява настройки, данни, регистрационна информация и други глупости за почти всичко в системата, от програми до настройките на конкретен потребител. Почти всичко се съхранява в регистъра. Въпреки факта, че някои програми предпочитат да съхраняват настройките си в ini-конфигурации (особено програми, написани за Win 3.11. - Ед.), самият Windows чете цялата необходима информация за себе си от системния регистър. За справедливост отбелязваме, че в * nix-подобните операционни системи системата за съхранение на настройки във всички видове конфигурации все още доминира.

За новодошлите - системни администратори, когато започват да работят с регистъра, по-възрастните другари се плашат, че неправилната конфигурация и промяната на параметрите на регистъра могат напълно да затрупат системата с последващото й преинсталиране. И наистина е така.

Например, така наречените точки за възстановяване са копия на системния регистър. Те се използват широко от потребителите, когато срещат различни проблеми както с операционната система, така и със софтуера и хардуера.

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

И какво тогава?

Регистърът е както силната, така и слабата страна на Windows. Силната страна на регистъра е, че няма нужда разработчиците на софтуер да манипулират куп конфигурации, както е, например, внедрено в nix. Регистърът е удобен и за създателите на COM компоненти - системата автоматично регистрира такъв компонент в регистъра и улеснява задачата за по-нататъшното му използване.

Слабостта на регистъра е, че достъпът до модификация на чувствителни области на регистъра ви позволява да контролирате 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 за контрол на регистъра.

ИНФО

В мрежата има много малко информация за структурите, които описват основните файлове на системния регистър. И почти всички са на английски. Основни познания могат да бъдат намерени. Освен това е добре написано за регистъра в библията на системния инженер "Вътрешното подреждане на Windows" от другарите М. Русинович и Д. Соломон.

А сега - за най-интересното

Но какво всъщност представлява регистърът? Ако погледнете в папката WINDOWSsystem32config, можете да видите няколко файла там: система, софтуер, сигурност, SAM и няколко други.

Това са файлове в системния регистър.

Въпреки това, би било несправедливо да се говори за регистъра просто като комбинация от файлове, заредени в паметта. Голяма част от това, което регистърът съдържа, е динамично, тоест редица стойности се изчисляват на етапа на зареждане на самата система, основно това се отнася до определени хардуерни параметри. Например, това е подключът на системния регистър HKEY_DYN_DATA, чиито данни при зареждане на операционната система се намират в RAM и остават там до изключване на операционната система. Същото, между другото, може да се каже и за подключа на ключа HKEY_LOCAL_MACHINE, който няма съответния файл на диска, а всъщност се формира от други файлове на системния регистър, като софтуер, система и други.

По този начин, отвътре, регистърът може да се нарече доста грубо „виртуална комбинация от файлове в регистъра“. След стартиране на системата тези файлове се намират както в пейджърския пул, така и в паметта без страници.

Структура на регистъра

За да се научите как да работите директно с регистъра, не може да се направи без познаване на неговата вътрешна структура. Като цяло Microsoft никога не е разкривала тайните на вътрешната структура на файловете, които съставляват регистъра, тъй като представлява риск за сигурността. Според моите наблюдения всички налични описания на файловете в регистъра и неговата структура (и между другото има доста от тях) са резултати от изследванията на пионерски изследователи. Най-пълното, според мен, такова „изследване” е възможно, то е на другаря Питър Норис.

Няма да навлизаме в подробности за организацията и структурата на регистъра, това е дълъг, досаден бизнес и не се вписва точно в рамките на статията. Тук е важно да се разбере, че регистърът е йерархична дървовидна структура, понякога се казва, че изглежда като пчелна пита.

И какво да правим с всичко това сега?

Ще скърбя веднага: няма да можете лесно да се забърквате с регистъра в потребителския режим, системата няма да ви позволи да направите това, както обикновено се случва с файловете, заети от други процеси. Ако се опитате да завъртите, можете да прочетете само такъв "зает" файл, и то ако познаете с флаговете, с които е отворен. За съжаление, няма да е възможно да се запише информация в "регистрационния файл", който ни интересува. Между другото, функцията с запис на необходимата информация в регистъра може да работи, ако пишете в регистъра * .BAK файлове, те определено са достъпни за писане.

Така че внимавайте с ръката си :).

Първото нещо, което може да ви дойде на ум, е да отворите файла на системния регистър директно и да напишете нещо там.

Теоретично това може да се направи, за това трябва, първо, да можете да работите с "заети" файлове (търсене на методи в мрежата) и второ, както казах по-горе, трябва да знаете вътрешната структура на файлове в регистъра. Този метод е доста тромав, но въпреки заблудата си е доста жизнеспособен, въпреки че е труден за прилагане на практика (опитайте да експериментирате сами).

Тук ще предложа два начина да ви помогна да нарежете регистъра на малки парченца.

Първият начин е, че за конфигурационния мениджър (Configuration Manager, част от операционната система, ако не знаете), регистърът не е нищо повече от набор от строго определени структури в паметта, които, както се оказва, са много лесен за работа. Какви са тези структури, ще попитате? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, куп CM_ * структури, използвани от конфигурационния мениджър за управление на системния регистър. От гледна точка на операционната система, регистърът е просто съвкупност от регулирани структури в паметта. Например, подписът "regf" за "регистрационния файл" е предварително дефинирана константа:

Дефинирайте HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK (ULONG подпис; // 0x66676572 ULONG последователност1; ULONG последователност2; LARGE_INTEGER TimeStamp; ....) И ето знака ... regf;

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

Ако имаме достъп до файловете на системния регистър на ниво ядро, тогава защо сме по-лоши от самата ОС, за да установим собствен ред?

И тук на сцената се появява най-интересният въпрос - как да намерите точно тези структури в паметта? Вярно е, че няма стандартни системни инструменти за решаване на този проблем, така че трябва да се измъкнете по труден начин.

Знаейки как изглеждат структурите, трябва да запомните, че всеки файл, кошерът на регистъра, има свой собствен постоянен подпис. Например "regf" е 0x66676572. За кошера подписът ще бъде 0xBEE0BEE0. Имайки достъп до паметта от ядрото, можем да намерим тези подписи в паметта доста лесно, като просто я сканираме. Можете също така да сканирате паметта в търсене на подписа "CM10" - именно този подпис се присвоява от конфигурационния мениджър на разменения блок памет, който е разпределен за структурата CMHIVE. Предполагам, след като откриете елемента, който ни интересува в паметта, ще разберете какво да правите с него по-нататък :).

Как, например, можете да промените стойността на клетка в системния регистър? Стойността се съхранява в полето CM_KEY_VALUE-> Данни, така че ако имате задача да промените което и да е поле в конкретен ключ на системния регистър, потърсете стойността там:

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; } CM_KEY_VALUE, *PCM_KEY_VALUE;

Вторият вариант е вид модификация на първия. Ако знаете, има една особеност при работа с системния регистър - всички промени, тоест "създаване на нови ключове / писане / изтриване на ключове", като правило влизат в сила след рестартиране на системата (добре, или след рестартиране на Explorer, това е такъв хак метод). Дотогава всички промени са в спряно, "мръсно" състояние. Освен това системата, когато осъществява достъп до системния регистър, комуникира с него чрез кеша на файловата система. Това е разбираемо - може да има стотици извиквания към регистъра в секунда, следователно разчитането на скоростта на файловата система е неразумно, никаква скорост няма да ви спаси тук. Следователно системата работи с регистъра, както се казва, виртуално, чрез кеша на файловата система. И тук, за да извадите вътрешностите на регистъра на светлината, трябва да влезете в кеша! Как се прави това вече е описано в тирнети, включително в.

За и против, или вместо заключение

Какво да кажа в крайна сметка? Вариантът по темата за директния контрол върху регистъра, предложен на читателя в статията, е чисто експериментален. Не твърдя, че е твърде тежък за практическа реализация и мнозина ще кажат, че е по-добре да използвате нормални функции на WinAPI, предназначени да работят с регистъра - и те ще бъдат прави до известна степен. Въпреки това, внедреният die_hard в действителност, базиран на принципите, дадени в статията, ще има наистина термоядрена сила, извън контрола нито на Avers, нито на самата операционна система.

Сега ще свърша. Честита компилация и нека Силата бъде с вас!

Www

Статията на Марк Русинович за "Вътре в регистъра" е задължителна за четене, дори имаше руски превод. Отличен инструмент за събиране на информация в регистъра: http://goo.gl/iSSVy.

Знае се системен регистър Windowsсе нарича огромна база данни с информация, която съдържа информация за конфигурацията и опциите на операционната система. Става дума за основния компонент.
С прости думи, оттук Windows получава информация за това коя помощна програма да стартира при щракване върху файл с мишката или какви действия трябва да се извършат, когато потребителят стартира различни приложения.

Ключове на системния регистър

Основата на системния регистър е дървовиден списък (почти еднакъв във всички версии на Windows).
Основният клон (категория) на регистъра е HKEY_CLASSES_ROOT (HKCR).Той съдържа информация за типа файлове, регистрирани в Windows. Съдържанието на този клон се използва при отваряне на файлове чрез двойно щракване или извършване на плъзгане и пускане.
V HKKEY_CURRENT_USER (HKCU)има опции за потребителската обвивка - "Старт", "Настолен плот" и други (вижте операционната система).
Клон HKEY_LOCAL_MACHINE (HKLM)използва се за съхраняване на данни за софтуерни продукти, които са инсталирани на компютъра. Може да са и драйвери и настройки. Той също така използва информация като шината на компютъра, общото количество памет, списъка с текущо заредени драйвери, информация за стартирането на Windows.
Глава HKEY_USER (HKU), в сравнение с (HKCU), съхранява опции на Windows, които са еднакви за всеки потребител.
V HKEY_CURRENT_CONFIG (HKCC)можете да видите информация за хардуера, използван на локалния компютър, когато се стартира операционната система. Профилите ви позволяват да намерите драйвери на устройства за конкретни работни сесии.
Когато се инсталират различни помощни програми, в регистъра се създават нови записи. В някои случаи, когато приложенията се премахнат от твърдия диск на компютъра, ключовете остават в системния регистър. Понякога това се прави нарочно. Ако искате да повторите инсталирането на програмата, не е нужно да я конфигурирате отново, тъй като опциите вече ще бъдат запазени в системния регистър. Случва се ключовете на отдалеченото приложение да са в системния регистър поради неправилна работа на помощната програма за почистване.
С голям брой такива записи (относно отдалечени приложения) ще отнеме много време, за да видите съдържанието на системния регистър.

Как да управлявам регистъра?

За управление на регистъраи извършването на промени се осигурява от специално проектиран инструмент, който може да се намери в Windows \ System32. Файлът се нарича regedt32 или regedit.exe... Много други редактори на системния регистър на трети страни също могат да направят това. Можете да ги разглеждате много дълго време, така че ние няма да го правим.
За да стартирате редактора на системния регистър, вграден в Windows OS, в менюто Run трябва да посочите regedit и да използвате Enter. Така ще се появи прозорец за редактора на системния регистър. Когато работите с регистъра, трябва да бъдете възможно най-внимателни. Ако изтриете или повредите системни файлове, Windows може да спре да се стартира. Все пак да се страхуваш от всичко не е вариант! Не трябва да променяте информацията в регистъра, когато не знаете какво означава това и какви могат да бъдат последствията. Преди да започнете, създайте контролна точка за възстановяване на Windows. Така ще се предпазите от възможни проблеми с регистъра.

И така, днес разговорът ще се съсредоточи върху тема, която изглежда не много важна, но всъщност много необходима за всеки потребител на Windows (а има огромно мнозинство от тях) - за това какво представлява регистърът, от какво се състои, защо е необходимо и как да го запазят в кошчетата си. И така, какво е регистър? По същество това е огромна, йерархично структурирана база данни, захранвана от потребителски заявки. Тази база данни е необходима за организиране на данни за системата, както и за оптимизиране на достъпа до тях. Регистърът съдържа много разнообразна информация както за обичайните настройки на операционната система, така и за различни настройки за фина настройка, включително настройки за сигурност и работа с програми от ниско ниво, както и драйвери.

Регистърът не е външна програма, той е част от операционната система. Ntdetect търси файловете в системния регистър, когато системата се стартира и зарежда параметрите на това само зареждане от там. познаването на ключовете на системния регистър и знанието за тяхното значение е от съществено значение за ефективно управление на системата. А също така поне за елементарна диагностика "защо не става така". Регистърът е дървовидна система от каталози на стойности/ключове. Които отговарят за определени настройки. Освен това трябва да се има предвид, че различните ключове могат да бъдат от различен тип - от булеви до низови.

Илюстративна анатомия.

Така че, струва си да кажете от какво физически се състои регистърът и как работи. Струва си да направите резервация веднага. Че във формата, в която регистърът е представен на потребителя, той не се съхранява никъде и са необходими специални програми за редактирането му - редактори на системния регистър. Стандартните regedit.exe и regedit32.exe са добре. В процеса на конфигуриране и инсталиране на системата се формира част от данните в регистъра, както и по време на работа на системата - друга. В резултат на това, когато системата се стартира, се формира виртуалният обект REGISTRY \, който е регистърът. За да редактирате, преглеждате и изучавате регистъра с помощта на стандартни инструменти на Windows (програмите regedit.exe и regedt32.exe), са налични клоновете на системния регистър. След редактиране на регистъра и/или извършване на промени в него, тези промени се записват незабавно във файловете, които са неразделна част от регистъра. Това са, в Windows 95 и Windows 98, user.dat и system.dat; на Windows ME - user.dat, classes.dat и system.dat. В по-късните версии на системата се появи много по-голям брой необходими файлове.

За недостатъците и как измамниците печелят пари от тези недостатъци.

Всъщност системата е доста сложна, но доста надеждна. Поради прекомерната сложност е трудно да се фрагментира регистърът и следователно - със скоростта на неговата работа. Също така, регистърът има тенденция да става прекомерно „дебел“ в резултат на натрупване на данни за дълъг период от време, което също усложнява функционирането му. Този проблем се решава с помощта на специални програми за оптимизиране и почистване на системния регистър. Докато се справяте сами с този проблем, трябва да запомните, че не трябва да изтривате нещо от системния регистър, ако не знаете за предназначението му - това може сериозно да повреди системата или дори да я деактивира напълно. Освен това измамниците се опитват да се справят с тези проблеми – мрежата е пълна с оферти „изтеглете програма за оптимизиране на системния регистър, след инсталирането на която компютърът ще работи с 30% по-бързо“. Обикновено такава оферта е последвана от формуляр за изпращане на SMS, който потвърждава предишните подозрения. Не трябва да обръщате внимание на такива неща и още повече да им вярвате - тогава няма да загубите нито пари, нито нерви.

Основните клонове на регистъра, тяхното значение и предназначение.

HKEY_CLASSES_ROOT е връзка към HKEY_LOCAL_MACHINE \ Софтуер \ Класове. Съхранената тук информация гарантира, че необходимата програма стартира, когато отворите файл с Explorer. Този раздел съдържа асоциации между приложения и типове файлове и информация за OLE.

HKEY_USERS – Този раздел съдържа настройки за всички потребители на компютъра.

HKEY_CURRENT_USER - този клон е връзка към конкретен вътрешен подключ HKEY_USERS. Всички настройки се задават в съответствие с това кой от потребителите е в момента в системата (т.е. коя сесия е активна).

HKEY_LOCAL_MACHINE - Съдържа практически настройките и параметрите, които принадлежат на този компютър, включително хардуерни настройки, хардуерна конфигурация и потребителски профили.

HKEY_CURRENT_CONFIG по същество е само препратка към HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Hardware Profiles \ Current. Там ще намерите всички входящи хардуерни настройки, необходими за стартиране на системата.

Основните стандартни раздели, написани по-горе, не могат да бъдат изтривани или преименувани. Някои ключове в системния регистър са непостоянни и не се съхраняват в нито един файл. Операционната система създава и управлява тези дялове изцяло в RAM, без да ги съхранява на твърдия диск, така че те имат временен характер. Системата създава летливи дялове всеки път, когато се зарежда. Например, HKEY_LOCAL_MACHINE \ HARDWARE е ключ на системния регистър, който съхранява информация за хардуерни устройства и присвоените им ресурси. Присвояването на ресурси и хардуерното откриване се случва всеки път, когато системата се зарежда, така че е логично и естествено тези данни да не трябва да се съхраняват постоянно на твърдия диск.

Как да запазите "вече придобито".

Понякога е полезно да направите резервно копие (backup) на системния регистър - от страх от повреда. Това може да се случи в резултат на неуспешни експерименти с регистъра, неправилна инсталация на драйвери и много десетки други причини. И да го има "за всеки случай" също не боли. За да не правите това ръчно всеки път, можете да използвате една от многото програми за автоматично архивиране, например Comodo Backup.