Windows systemregister. Windows-registret - Grunderna i grunderna

Om operativsystemet har installerats på en dator under lång tid och aldrig har installerats om under hela denna tid, noterar användare som regel en minskning av hastigheten på dess drift och förekomsten av periodiska fel. Detta kan visa sig i långsam laddning, långvarig öppning av vissa program, i uppkomsten av dialogrutor om fel som har uppstått. Och ju längre en person arbetar vid en dator, desto fler fel och funktionsfel märker han, och med tiden kan arbetet med en sådan dator förvandlas till en mardröm.

Boven till alla dessa listade problem kan vara systemregistret - en mycket viktig komponent i operativsystemet. Därför skulle även nybörjare göra klokt i att känna till dess syfte, påverkan på den övergripande driften av operativsystemet, såväl som sättet att övervaka och ta hand om det.
Så förr eller senare ställs användaren inför frågan - antingen installera om operativsystemet med alla program och konfigurera om dess användargränssnitt, eller försök att "rensa" systemet och återställa det till sin tidigare hastighet.

BESKRIVNING OCH SYFTE

Windows-registret är i grunden en trädliknande databas som innehåller information om alla inställningar som krävs för korrekt och smidig drift av operativsystemet. Den innehåller inställningar för installerad hårdvara och mjukvara, personliga profiler för användare som har tillgång till datorn, typer av filer som program kan skapa och information om mappegenskaper.

Värdet som Windows-registret har är svårt att överskatta. Hur korrekt informationen är beror på hur effektivt alla PC-noder, både mjukvara och hårdvara, kommer att fungera. Om användaren börjar märka några problem i driften av sin dator, är detta ett tydligt tecken på att registret har misslyckats och att några av dess inställningar har gått vilse. Om det finns ett allvarligt fel i systemregistret kommer användaren inte att kunna starta Windows och operativsystemet måste installeras om.

Systemregistret lagras i X:\Windows\System32\config, där X är systemets enhetsbeteckning.

ROTDELAR AV SYSTEMREGISTRET

Windows-registret består av flera huvudsektioner:

  • - HKEY_CURRENT_CONFIG (HKCC) - avsnittet innehåller all information om hårdvaruprofilen som används på den lokala maskinen under systemstart;
  • - HKEY_CURRENT_USER (HKCU) - avsnittet lagrar information om en specifik användare som för närvarande är inloggad i systemet och arbetar i det. Denna gren sparar sina mappar, skärminställningar, inställda parametrar för kontrollpanelen;
  • - HKEY_CLASSES_ROOT (HKCR) - avsnittet innehåller data om filtypstillägg och applikationer som öppnas när de startas;
  • - HKEY_USERS (HKU) - denna gren lagrar information om alla laddade aktiva användarprofiler för en viss PC;
  • - HKEY_LOCAL_MACHINE (HKLM) - gren för att lagra information om Windows OS-start, information om drivrutiner och datorhårdvara;
  • - HKEY_USERS (HKU) - filialen lagrar individuella profilinställningar för varje användare som är registrerad i systemet. Den lagrar också information om "standard"-profilen för nya användare som skapas.

Varje rotregisternyckel innehåller många undernycklar, som i sin tur kan ha sina egna flera undernycklar som lagrar systeminställningar. Registerhierarkin är mycket komplex, och antalet sektioner i det är helt enkelt enormt, därför, inom ramen för detta material, behöver vi bara förstå själva principen för att bygga dess struktur, så att du vid behov kan hitta parametern du behöver.

REGISTRETS PÅVERKAN PÅ ARBETETFÖNSTER

Som nämnts tidigare beror systemets hastighet och dess stabilitet direkt på registrets tillstånd. Oftast börjar systemet "bromsa" när registret ökar sin storlek. Och ju större det är, desto längre startar datorn upp, eftersom när operativsystemet startar kontrolleras alltid systemregistret för fel, varefter det säkerhetskopieras. Dessutom, ju mer programvara installeras på datorn, desto större blir registret.

Samtidigt är Windows utformat på ett sådant sätt att driften av alla program, oavsett om det är ett enkelt verktyg eller ett superspel, alltid kommer att kräva interaktion med systemregistret för att hitta de nödvändiga parametrarna, som blir svårare och längre hitta, desto större är registerstorleken och antalet filialer i det.

Det finns en annan viktig faktor som påverkar hastigheten på Windows, men innan vi pratar om det, låt oss göra en liten kommentar. Det finns två huvudtyper av minne i datorer – RAM (Random Access Memory), som också är random access memory, och ROM (Read Only Memory), som inkluderar hårddiskar, flashenheter och andra komponenter som lagrar dina data. RAM är ett mycket snabbt minne som gör att du omedelbart kan utbyta information med centralprocessorn, men ROM är mycket långsammare.

Nu, låt oss fortsätta, nedgången i att öppna program orsakas mycket ofta av det faktum att det inte finns tillräckligt med RAM för att snabbt ladda dem. Och ofta, för att tillhandahålla den nödvändiga mängden minne för ett program, får systemet det från sin totala volym (en uppsättning RAM och ROM), och börjar komma åt hårddiskutrymmet, d.v.s. det finns en så kallad "swap" (en del av informationen skrivs till hårddisken). Som ett resultat, när ett program behöver den nödvändiga informationen skriven till disken under laddning eller drift, tar det mycket längre tid att läsa än om systemet tog dem från RAM.

För att undvika en sådan situation är det nödvändigt att utesluta alla onödiga eller sällan använda program från att komma in i RAM.

Men faktum är att en av huvudkällorna för nedskräpning av "RAM" på din dator är registret, de data som Windows-systemet laddar från vid start, utan att förstå om du behöver dem eller inte. Bland dem kan det finnas "spår" av länge raderade program, applikationer eller deras inställningar som du sannolikt inte kommer att behöva. Således, om du inte är uppmärksam på tillståndet i systemregistret, kommer allt detta skräp att belamra värdefullt utrymme i RAM.

Mycket ofta, under driften av en dator, börjar dialogrutor att visas framför användare med alla typer av fel som uppstår i Windows. Många av dem är resultatet av felaktiga ändringar i registret som står i konflikt med systeminställningarna. Detta kan hända på grund av att standardbibliotek ersätts med äldre versioner eller efter att de plötsligt tagits bort, till exempel efter en virusinfektion och efterföljande rengöring av datorn.

METODER FÖR REDIGERING AV REGISTRET

Användaren kan lösa alla problem med ett "uppsvällt" register på två sätt: manuellt eller med hjälp av program, men i något av dessa fall kommer ändringar att göras i systemregistret.

En oerfaren användare bör inte göra ändringar manuellt. I det här fallet är det bättre att använda speciella program med vilka du smärtfritt kan ändra registerbasen för att operativsystemet ska fungera. Lyckligtvis finns det tillräckligt med sådana verktyg på marknaden nu, medan det finns både betalprogram och gratisprogram, med ganska anständig funktionalitet. Huvudsyftet med dessa verktyg är att söka efter och ta bort trasiga nycklar som inte längre används, utan bara täppa till registret, samt defragmentera det.

Och ändå, om du bestämmer dig för att göra ändringar i registret själv, så skulle den bästa lösningen vara att använda Registry Editor-verktyget inbyggt i Windows. För att komma in i registerredigeraren finns det ett speciellt kommando "regedit", som måste anges i fönstret Kör (anropas genom att trycka på tangenterna Windows + R).

Efter att ha startat verktyget kommer användaren att se ett fönster uppdelat i två delar, varav en visar sektioner, undersektioner och grenar av systemregistret och den andra - parametrarna för elementet som användaren har valt i registret.

Även i registerredigeraren, på fliken Redigera, finns ett sökalternativ (som anropas genom att trycka på Ctrl + F-tangenterna), som söker efter de angivna orden i sektionsnamnen, parameternamnen och deras värden. Detta är en mycket praktisk funktion som gör att du till exempel kan rensa registret från spår av ett onödigt program med dess namn.

När du redigerar registret manuellt måste du vara mycket försiktig. En felaktig åtgärd och systemet kommer att vara helt trasigt, och Windows måste installeras om.

Användare som precis har börjat förstå hur man arbetar med en dator frågar ofta när de själva kan göra ändringar i registret och när de behöver kontakta en professionell för att få hjälp. Om möjligt, en specialist, om det finns problem med registret, bör du alltid ringa eller åtminstone bjuda in en erfaren vän. Det är högst oönskat för en icke-professionell att göra justeringar av faktiska register. Dessutom, innan du justerar, är det absolut nödvändigt att göra en säkerhetskopia av registret, sedan i händelse av felaktiga åtgärder som kommer att leda till att systemet inte fungerar, kommer det att vara möjligt att återställa registret från säkerhetskopian med samma verktyg som användes för att göra ändringar. Du måste också komma ihåg att du inte i något fall ska ersätta registret för en version av Windows med systemregistret för en annan version.

De vanligaste misstagen och deras konsekvenser vid justering av registret av amatörer inkluderar att radera eller ändra nödvändiga avsnitt och nycklar, varefter vissa program kan sluta fungera, användarkontot kanske inte laddas eller systemet kommer att misslyckas helt.

REGISTRÖVERVAKNING

Windows-registret är en återspegling av hur operativsystemet fungerar. Och för att förstå att allt i systemet fungerar utan avbrott är det nödvändigt att ständigt övervaka det. Det perfekta alternativet är att använda för att övervaka något populärt verktyg som skapades specifikt för detta ändamål. Varför ska den installeras och användas? För att analysera programmets arbete. Användaren kommer alltid att kunna se vilka processer som körs i systemet, vilka program som körs och vilka av dem som använder registret oftast, och om han ser något misstänkt kan han vidta åtgärder för att fixa det.

Övervakningsverktyg är ganska lätta att använda. Även en person som inte har en specialutbildning kan förstå dem. Och detta är deras stora plus, eftersom det är önskvärt för alla användare, både erfarna och nybörjare, att åtminstone veta ungefär vad som händer i OS-registret på deras dator. Till exempel kan du använda ett av de mest populära verktygen för registerövervakning - Registry Monitor (RegMon).

REGISTRERINGSVÅRD

När du installerar och sedan tar bort olika program vet Windows-användaren inte alltid att information om dem som regel inte tas bort helt från registret. Det finns alltid några "svansar" som bromsar systemet ytterligare. För att förhindra att detta händer är det nödvändigt att utföra inte bara övervakning av registret, utan också att ta hand om det. För att göra detta behöver du inte leta efter de återstående posterna i registret själv, du kan göra detta med hjälp av speciella program, vars existens redan har nämnts ovan. Programmen jv16 PoverTools, CCleaner, Reg Organizer, RegCleaner och andra gör det här jobbet bra. Med deras hjälp kan användaren inte bara rensa registret från "skräp", utan också defragmentera hårddisken, redigera start, rensa webbläsarhistorik, radera föråldrade systemåterställningsfiler, etc.

SLUTSATS

Möjligheten att hantera registret är ett stort plus för en användare på alla nivåer. I det här fallet, utan att vänta på hjälp utifrån, kan du självständigt förbättra eller återställa prestanda för ditt operativsystem vid allvarliga problem. Det är sant att det är ännu viktigare att inte föra ditt fungerande operativsystem till ett bedrövligt tillstånd genom att övervaka registret, eller åtminstone dess ständiga rengöring av "skräp".

I allmänhet kan de flesta problem med Windows som uppstår på grund av problem i registret lösas på egen hand med hjälp av expertråd, som de med fördel placerar på Internet. Det är sant, för att använda dem måste du i alla fall veta, åtminstone i allmänna termer, vad registret är och hur du gör ändringar i det. Tja, om du inte kunde hantera problemen på egen hand, kommer dina grundläggande kunskaper att hjälpa dig att korrekt förklara problemets kärna för datorservicespecialisten, vilket avsevärt kommer att påskynda processen för att eliminera det.

Windows-registret (engelska Windows-registret), eller systemregistret, är en hierarkiskt uppbyggd databas med parametrar och inställningar i de flesta Microsoft Windows-operativsystem.

Registret innehåller information och inställningar för hårdvara, mjukvara, användarprofiler, förinställningar. De flesta av ändringarna i kontrollpanelen, filassociationer, systempolicyer, listan över installerad programvara är fixade i registret.

Windows-registret introducerades för att organisera information som tidigare lagrats i många INI-filer, tillhandahålla en enda mekanism (API) för att skriva och läsa inställningar och bli av med problemen med korta namn, bristande åtkomsträttigheter och långsam åtkomst till lagrade ini-filer på filsystemet FAT16, som hade allvarliga prestandaproblem när man sökte efter filer i kataloger med ett stort antal av dem. Med tiden (äntligen - med tillkomsten av NTFS-filsystemet) försvann problemen som löstes av registret, men registret förblev på grund av bakåtkompatibilitet och finns i alla versioner av Windows, inklusive den senaste. Eftersom det för närvarande inte finns någon egentlig förutsättning för att använda en sådan mekanism är Microsoft Windows det enda operativsystem som används idag som använder operativsystemets registermekanism. I allmänhet är registret en rudiment.

Windows-registret som det ser ut.

Registret, som det används av Windows och som det ses av användaren i färd med att använda registerprogram, bildas av olika data. För att få vad användaren ser när han redigerar registret händer följande.

Inledningsvis, under installationen (installationen) och konfigurationen av Windows, bildas filer på disken som lagrar en del av data om systemkonfigurationen.


Sedan, under varje systemstart, såväl som under varje inloggning och utloggning av var och en av användarna, bildas en viss virtuell enhet, kallad "registret" - REGISTRY\-objektet. Data för bildandet av "registret" är delvis hämtade från samma filer (programvara, system ...), dels från informationen som samlats in av ntdetect under uppstart (HKLM\Hardware\Description).

Det vill säga en del av registerdata lagras i filer och en del av data bildas under Windows-startprocessen.

Registergrenar är tillgängliga för att redigera, visa och studera registret med hjälp av vanliga Windows-verktyg (program regedit.exe och regedt32.exe). Efter att ha redigerat registret och/eller gjort ändringar i det, skrivs dessa ändringar omedelbart till filerna.

Det finns dock tredjepartsprogram som låter dig arbeta direkt med filer.

Registeroptimeringsprogram, tweakers samt programinstallatörer och avinstallerare fungerar genom speciella registerfunktioner.

Var finns Windows-registerfilerna?

Registerfilerna finns i mappen windows\System32\config\, det finns också en användarregisternyckel - i filen %userprofile%\ntuser.dat.Säkerhetskopior av registerfilerna finns i mappen windows\System32\config\RegBack.

Vilka är huvudsektionerna (buskar) i registret?

HKEY_CLASSES_ROOT avsnitt

Detta är den huvudsakliga Windows-registernyckeln, den innehåller filassociationer som associerar filtyper med program som kan öppna och redigera dem, och klassregistreringar för Component Object Model-objekt (COM). Det senare ger en möjlighet att ändra otroligt många regler för systemets beteende – du bör inte göra detta utan en god anledning.

HKEY_CURRENT_USER avsnitt

Den lagrar inställningarna för den aktuella aktiva användaren. Filialen lagrar användarmappar, olika personliga inställningar och kontrollpanelinställningar. Denna information interagerar direkt med användarens profil. Denna gren består av flera undersektioner som innehåller sökvägarna för ljudfiler som används för att ljuda systemhändelser; olika data som kan ändras i kontrollpanelen, såsom ordning av ikoner; information om den aktuella tangentbordslayouten, användarapplikationsinställningar etc.

avsnittet HKEY_LOCAL_MACHINE

Konfigurationsinställningarna som gäller för denna dator lagras här (inställningarna ställs in samtidigt för alla användare). Den innehåller till exempel information om datorkonfigurationen, installerade drivrutiner och program, portnamn, filsysteminställningar och så vidare.

HKEY_USERS avsnitt

Denna gren innehåller information om profilerna för alla användare av denna dator (användarnamn, skrivbordsinställningar, etc.). Det här avsnittet lagrar också standardinställningar för skrivbordet, Start-menyn, etc. De behövs när en ny användare loggar in för första gången. Vid denna tidpunkt kopieras standardinställningarna till hans profil, och alla ytterligare ändringar som görs av användaren kommer att sparas i denna gren.

HKEY_CURRENT_CONFIG-nyckel

Nyckeln ansvarar för Plug & Play-enheter och innehåller information om aktuell konfiguration av en dator med varierande sammansättning av enheter, såsom flash-kort, skrivare, faxar, externa enheter m.m. Det här avsnittet innehåller också information om den aktuella hårdvaruprofilen som används av datorn när systemet startar.

HKEY_DYN_DATA

Denna nyckel finns endast i Windows 9x/ME OS-registret. Innehåller dynamiskt växlande data om datorn (processorbelastning, växlingsfilstorlek, etc.)

Hur redigerar man registret?

Allt är enkelt i Windows-sökningen, vi skriver regedit och kör registerredigeraren som administratör. Innan du utför några operationer i registret måste du göra en säkerhetskopia! Om något går fel kommer det att vara möjligt att återgå till den fungerande versionen av registret.


Registeroptimering.

Det finns en debatt om huruvida man ska optimera Windows-registret. Jag skulle säga att optimering är mer användbart för svagare datorer än för kraftfulla. Men det finns en nyans till, ibland kan inte rensade registerinställningar orsaka program- och maskinvarukraschar och konflikter, så jag rekommenderar att du rengör registret från onödiga data.


Dessutom fragmenteras registret över tiden, detta beror också på utrensningar. Därför, för dem som gör registerrengöring hela tiden, rekommenderar jag också att ibland göra registerdefragmentering.

För att optimera Windows-registret kan du använda programmen WinOptimizer, Reg Organizer, Auslogics Boostspeed.


Om du har några frågor, se videon ovan.

Idag ska vi försöka komma in i Windows-registret från bakdörren, utan att använda vanliga WinAPI-funktioner avsedda för detta. Vad kommer det att ge oss i slutändan? Möjligheten att skriva och läsa direkt från registret, förbi begränsningarna som ställts in av utvecklarna av antiviruslösningar!

När jag ser framåt kommer jag att notera: det här ämnet är intressant, men det finns en hel uppsättning allvarliga problem. Fast vem har sagt att vi inte kan göra det? 🙂

Vad är ett register, eller några sångtexter

Ur Windows-operativsystemets synvinkel är registret ett unikt skafferi. Denna speciellt byggda hierarkiska databas lagrar inställningar, data, registreringsinformation och annat skit om nästan allt i systemet, från program till inställningarna för en viss användare. Nästan allt lagras i registret. Trots att vissa program föredrar att lagra sina inställningar i ini-configs (särskilt program skrivna för Win 3.11. - Ed.), läser Windows själv all nödvändig information om sig själv från registret. I rättvisans namn noterar vi att i * nix-liknande operativsystem dominerar fortfarande systemet för att lagra inställningar i olika konfigurationer.

Nykomlingar - systemadministratörer, när de börjar arbeta med registret, är rädda av äldre kamrater att felaktiga inställningar och ändringar i registerinställningar kan helt överväldiga systemet med dess efterföljande ominstallation. Och det är det verkligen.

Till exempel är de så kallade återställningspunkterna kopior av registret. De används flitigt av användare när olika problem uppstår både med operativsystemet och med mjukvara och hårdvara.

Jag måste säga att 99% av informationen om Windows-registret är en beskrivning av huvudnycklarna plus tips om hur man arbetar med dem. Men hur fungerar själva operativsystemet med registret? Och kan vi efterlikna hennes handlingar? Låt oss diskutera lite.

Än sen då?

Registret är både en styrka och en svaghet hos Windows. Styrkan med registret är att det inte finns något behov av mjukvaruutvecklare att manipulera ett gäng konfigurationer, vilket till exempel är implementerat i nix. Registret är också bekvämt för skaparna av COM-komponenter - systemet registrerar automatiskt en sådan komponent i registret och underlättar uppgiften att använda den vidare.

Svagheten med registret är att tillgången till modifiering av känsliga områden i registret gör att alla program som skrivits av nyskriven skadlig programvara kan kontrollera Windows. Kom ihåg åtminstone den mest kända grenen av Windows-registret, som låter dig köra program i början av operativsystemet :).

Om registret i Windows 98 kunde repareras av vem som helst som tänkt på det, från och med Windows XP är det bara användare med ett administratörskonto som har tillgång till registret. I Vista+ är registeråtkomst skyddad av UAC. Det är förståeligt.

Det måste erkännas att med lanseringen av Win7 har begreppen säkerhet när man arbetar med registret reviderats till det bättre. Till exempel är nyckelgrenen HKEY_LOCAL_MACHINE i registret under skydd. I allmänhet kommer ett försök att skriva något till det att omdirigeras till motsvarande HKEY_CURRENT_USER-gren för den aktuella användaren.

Gränssnitt

För att arbeta direkt med registret erbjuder Windows programmeraren en hel uppsättning WinAPI:er som bör vara bekanta för alla systemutvecklare - dessa är Reg *-funktioner, såsom RegOpenKey, RegQueryValue, och så vidare. I Win-kärnan är dessa NtOpenKey, NtQueryValueKey och en hel mängd andra. Det är ingen mening med att beskriva dem - all dokumentation om korrekt användning av dessa funktioner finns på MSDN.

Här är vad som är värt att notera. För att kontrollera användaråtgärder installerade antivirus och proaktiva avlyssningar på de nämnda funktionerna, både i kärnan och i användarläget.

Med lanseringen av Win7 x64 har situationen förändrats, och jag har redan skrivit om det på något sätt. Windows-utvecklarna bestämde sig för att ta bort möjligheten att fånga upp potentiellt farliga funktioner i Win-kärnan. Nu exporteras KeServiceDescriptorTable-variabeln mer i x64, och det kommer inte att fungera att skriva om den nödvändiga kodsektionen - PatchGuard gör det inte. Det finns naturligtvis sadomasochistiska lösningar för att kringgå dessa restriktioner – men det blir mer krångel än vinst. Dessutom erbjuder Microsoft bekväma ObRegisterCallbacks för registerkontroll.

INFO

Det finns väldigt lite information på webben om strukturerna som beskriver de viktigaste registerfilerna. Och nästan alla är på engelska. Grundläggande kunskaper kan hittas. Dessutom är det välskrivet om registret i bibeln av systemingenjören "Windows Internals" från kamraterna M. Russinovich och D. Solomon.

Och nu - om det mest intressanta

Men vad är ett register, egentligen? Om du tittar in i mappen WINDOWSsystem32config kan du se flera filer där: system, programvara, säkerhet, SAM och flera andra.

Dessa är registerfiler.

Det skulle dock vara orättvist att tala om registret helt enkelt som en kombination av filer som laddas in i minnet. Mycket av det som registret innehåller är dynamiskt till sin natur, det vill säga ett antal värden som beräknas vid laddningen av själva systemet, först och främst handlar det om vissa hårdvaruparametrar. Till exempel är detta registerundernyckeln HKEY_DYN_DATA, vars data placeras i RAM när operativsystemet startar och stannar där tills operativsystemet stängs av. Förresten, detsamma kan sägas om nyckelundersektionen HKEY_LOCAL_MACHINE, som inte har sin motsvarande fil på disken, utan faktiskt är bildad av andra registerfiler, såsom programvara, system och andra.

Således kan registret från insidan grovt sett kallas en "virtuell kombination av registerfiler." Efter att systemet har startat finns dessa filer både i växlingsfilen (paged pool) och i nonpaged minne (ickepaged).

Registerstruktur

För att lära sig hur man arbetar med registret direkt kan man inte klara sig utan kunskap om dess interna struktur. I allmänhet har Microsoft aldrig avslöjat hemligheterna bakom den interna strukturen för filerna som utgör registret, eftersom detta hotar säkerheten. Enligt mina observationer är alla tillgängliga beskrivningar av registerfilerna och dess struktur (och det finns förresten väldigt få av dem) resultat av forskning av pionjärforskare. Den mest kompletta, enligt min mening, en sådan "forskning" är möjlig, den tillhör kamrat Peter Norris.

Vi kommer inte att gå in på detaljerna i registrets organisation och struktur nu, detta är en lång, tråkig verksamhet och passar inte exakt in i artikelns omfattning. Det är viktigt att förstå här att registret är en hierarkisk trädliknande struktur, ibland också sägs vara som en vaxkaka.

Och vad ska man göra med allt detta nu?

Jag kommer att göra dig upprörd direkt: det är omöjligt att enkelt lura med registret i användarläget, systemet tillåter dig inte att göra detta, som vanligtvis är fallet med filer som är upptagna av andra processer. Om du försöker undvika, kan du bara läsa en sådan "upptagen" fil, och sedan om du gissar med flaggorna som den öppnades med. Tyvärr fungerar det inte att skriva information till "registerfilen" av intresse för oss. Förresten, funktionen med att skriva nödvändig information till registret kan fungera om du skriver till registret * .BAK-filer, de är definitivt skrivbara.

Så se upp för handen :).

Det första du kan tänka dig är att öppna registerfilen direkt och skriva något där.

Teoretiskt kan du göra detta, för detta behöver du för det första kunna arbeta med "ockuperade" filer (leta efter sätt på webben) och för det andra, som jag sa ovan, måste du känna till den interna strukturen för registret filer. Denna metod är ganska klumpig, men trots sin vanföreställning är den ganska lönsam, även om den är svår att implementera i praktiken (försök att experimentera med den själv).

Här kommer jag att erbjuda två sätt som hjälper dig att skära registret i små bitar.

Det första sättet är att för Configuration Manager (Configuration Manager, en del av operativsystemet, om du inte vet), är registret inget annat än en uppsättning väldefinierade strukturer i operativsystemet, som, som det visar sig , är mycket lätta att arbeta med. Vilka är dessa strukturer, frågar du? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, ett gäng CM_*-strukturer som används av konfigurationshanteraren för att hantera registret. Ur operativsystemets synvinkel är registret helt enkelt en uppsättning reglerade strukturer i RAM. Till exempel är signaturen "regf" som definierar "registerfil" en fördefinierad konstant:

Definiera HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK ( ULONG Signature; //0x66676572 ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER TimeStamp; .... ) Och här är signaturen "...regf"

Det vill säga, meningen med allt detta min monolog är att det finns en stor möjlighet att manipulera registret på operativsystemnivå, men utan att använda dess standardverktyg. Hur är detta möjligt? Vi emulerar bara handlingarna i själva operativsystemet, precis som det fungerar med själva registret! Det är viktigt, som jag sa, att förstå att för själva operativsystemet är registret inget annat än en uppsättning motsvarande strukturer i minnet.

Om vi ​​har tillgång till registerfilerna på kärnnivå, varför är vi då sämre än själva operativsystemet för att etablera vår egen ordning?

Och här dyker den mest intressanta frågan upp på scenen - hur man hittar just dessa strukturer i minnet? Det är sant att det inte finns några vanliga medel i systemet för att lösa detta problem, så du måste komma ut på ett knepigt sätt.

När du vet hur strukturerna ser ut måste du komma ihåg att varje fil, registerbikupan, har sin egen konstanta signatur. Till exempel är "regf" 0x66676572. För kupan kommer signaturen att vara 0xBEE0BEE0. Genom att ha tillgång till minne från kärnan kan vi ganska enkelt hitta dessa signaturer i minnet genom att helt enkelt skanna dem. Du kan också skanna minnet för att leta efter "CM10"-signaturen - det är denna signatur som tilldelas av konfigurationshanteraren till det utbytta minnesblocket, som är tilldelat för CMHIVE-strukturen. Jag antar att, efter att ha hittat elementet som är intressant för oss i minnet, kommer du att ta reda på vad du ska göra med det härnäst :).

Hur ändrar man till exempel värdet på en registercell? Värdet lagras i fältet CM_KEY_VALUE->Data, så om du har en uppgift att ändra något fält i en specifik registernyckel, leta efter värdet där:

Typdef struct _CM_KEY_VALUE ( WORD Signatur; // #define CM_KEY_VALUE_SIGNATURE 0x6B76 WORD NamnLängd; ULONG DataLength; ULONG Data; //<---------- данные ячейки будут здесь ULONG Type; WORD Flags; WORD Spare; WCHAR Name; } CM_KEY_VALUE, *PCM_KEY_VALUE;

Det andra alternativet är en slags modifiering av det första. Om du vet finns det en egenhet när du arbetar med registret - alla ändringar, det vill säga "skapa nya nycklar / skriva / ta bort nycklar", träder i regel i kraft efter att systemet har startat om (nåja, eller efter omstart av utforskaren , detta är en sådan hackmetod). Dessförinnan är alla ändringar i ett tillfälligt, "smutsigt" tillstånd. Dessutom, när registret hanteras, kommunicerar systemet med det via filsystemets cache. Detta är förståeligt - det kan finnas hundratals åtkomster till registret per sekund, därför är det orimligt att förlita sig på filsystemets hastighet, här sparar ingen hastighet. Därför fungerar systemet med registret, som de säger, praktiskt taget genom filsystemets cache. Och här måste du komma in i cachen för att kunna dra in registret i ljuset! Hur detta går till har redan beskrivits i tyrnets, bland annat i.

För & nackdelar, eller istället för en slutsats

Vad ska man säga till slut? Variationen som erbjuds läsaren i artikeln om ämnet direkt kontroll över registret är rent experimentell. Jag hävdar inte att det är för tungt för praktisk implementering, och många kommer att säga att det är bättre att använda vanliga WinAPI-funktioner designade för att fungera med registret - och de kommer att vara rätt till viss del. Emellertid kommer den implementerade die_hard, i själva verket, baserad på principerna som ges i artikeln, att ha en verkligt termonukleär kraft som inte är föremål för vare sig avers eller själva operativsystemet.

Jag avslutar det. Lycka till med sammanställningen och må Kraften vara med dig!

www

En måste-läs artikel av Mark Russinovich om registret "Inside the Registry", det fanns till och med en rysk översättning. Ett underbart verktyg för att samla information om registret: http://goo.gl/iSSVy.

Det är känt systemregistret Windows kallas en enorm databas med information som innehåller data om operativsystemets konfiguration och alternativ. Det handlar om huvudingrediensen.
Med enkla ord, härifrån hämtar Windows information om vilket verktyg som ska köras när du klickar på en fil med musen eller vilka åtgärder som ska utföras när användaren startar olika applikationer.

Registernycklar

Grunden för systemregistret är en trädliknande lista (nästan samma i alla versioner av Windows).
Registrets huvudgren (kategori) är HKEY_CLASSES_ROOT (HKCR). Den innehåller information om vilken typ av filer som är registrerade med Windows. Innehållet i denna gren används när filer öppnas genom att dubbelklicka eller dra-och-släpp.
I HKKEY_CURRENT_USER (HKCU) det finns alternativ för användarskalet - "Start", "Desktop" och mer (relaterat till operativsystemet).
Gren HKEY_LOCAL_MACHINE (HKLM) används för att lagra data om mjukvaruprodukter som är installerade på datorn. Det kan också vara drivrutiner och inställningar. Den använder också information som datorbussar, totalt minne, en lista över för närvarande laddade drivrutiner, information om att ladda Windows.
Kapitel HKEY_USER(HKU), jämfört med (HKCU), lagrar Windows-alternativ som är desamma för alla användare.
I HKEY_CURRENT_CONFIG (HKCC) du kan se information om den hårdvara som används på den lokala datorn när operativsystemet startar. Profiler låter dig hitta drivrutiner för specifika arbetssessioner.
När olika verktyg installeras skapas nya poster i registret. I vissa fall, när du tar bort program från din dators hårddisk, finns nycklarna kvar i registret. Ibland görs detta med flit. Om du vill upprepa installationen av programmet behöver du inte konfigurera det igen, eftersom alternativen redan kommer att sparas i registret. Det händer att nycklarna till fjärrapplikationen finns i registret på grund av felaktig användning av rengöringsverktyget.
Med ett stort antal sådana poster (om fjärrapplikationer) kommer mycket tid att ägnas åt att bläddra igenom innehållet i systemregistret.

Hur hanterar man registret?

För registerhantering och gör ändringar, ett specialdesignat verktyg tillhandahålls, som finns i Windows\System32. Filen heter regedt32 eller regedit.exe. Ett stort antal andra registerredaktörer från tredje part gör också jobbet. Du kan överväga dem väldigt länge, så vi kommer inte att göra det.
För att starta den inbyggda registerredigeraren i Windows, i Kör-menyn, måste du ange regedit och använda Enter. Således kommer registerredigerarens fönster att visas. När du arbetar med registret måste du vara så försiktig som möjligt. Om du tar bort eller korrumperar systemfiler kan Windows sluta starta. Att vara rädd för allt är dock inget alternativ! Du bör inte ändra registerinformation om du inte vet vad det betyder och vilka konsekvenserna kan bli. Innan du börjar, skapa en Windows-återställningspunkt. Således kommer du att skydda dig från eventuella problem med registret.

Så idag kommer vi att prata om ett ämne som inte verkar vara särskilt viktigt, men i själva verket mycket nödvändigt för varje Windows-användare (och de allra flesta av dem) - om vad registret är, vad det består av, varför det behövs och hur man sparar det i sina papperskorgar. Så vad är ett register egentligen? I grund och botten är detta en enorm, hierarkiskt byggd databas som arbetar på användarförfrågningar. Denna databas behövs för att organisera data om systemet, samt optimera åtkomsten till det. Registret innehåller mycket varierande information både om de vanliga inställningarna av operativsystemet, och om olika finjusteringar - inklusive säkerhetsinställningar och arbete med lågnivåprogram, samt drivrutiner.

Registret är inte något externt program, det är en del av operativsystemet. Ntdetect letar efter registerfiler när systemet startar och laddar parametrarna för denna start därifrån. kunskap om registernycklarna och kunskap om deras betydelse är avgörande för effektiv systemhantering. Och åtminstone för en grundläggande diagnos av "varför det inte fungerar så." Registret är ett trädliknande värde/nyckelkatalogsystem. Som är ansvariga för vissa inställningar. Dessutom bör man komma ihåg att olika nycklar kan ha olika typer - från logiska till strängar.

Demonstrativ anatomi.

Så det är värt att berätta vad registret fysiskt består av och hur det fungerar. Det är värt att nämna direkt. Att i den form som registret presenteras för användaren lagras det inte någonstans och det behövs speciella program för att redigera det - registerredigerare. Standarden regedit.exe och regedit32.exe är bra. I processen att ställa in och installera systemet bildas en del av registerdata och en annan del bildas under driften av systemet. Som ett resultat, när systemet startar, bildas ett virtuellt REGISTRY-objekt, vilket är registret. Registergrenar är tillgängliga för att redigera, visa och studera registret med hjälp av vanliga Windows-verktyg (program regedit.exe och regedt32.exe). Efter att ha redigerat registret och/eller gjort ändringar i det, skrivs dessa ändringar omedelbart till filerna som är komponenter i registret. Dessa är, i Windows 95 och Windows 98, user.dat och system.dat; i Windows ME - user.dat, classes.dat och system.dat. I senare versioner av systemet dök ett mycket större antal nödvändiga filer upp.

Om bristerna och hur bedragare tjänar pengar på dessa brister.

Faktum är att systemet är ganska komplicerat, men ganska tillförlitligt. På grund av överdriven komplexitet finns det svårigheter med fragmenteringen av registret och därför med hastigheten på dess arbete. Dessutom tenderar registret att bli överdrivet "fett" som ett resultat av ackumulering av data under en lång tidsperiod, vilket också komplicerar dess funktion. Detta problem löses med hjälp av speciella program för att optimera och rensa registret. När du hanterar det här problemet på egen hand bör du komma ihåg att du inte bör ta bort något från registret om du inte vet om dess syfte - detta kan allvarligt skada systemet, eller till och med inaktivera det helt. Dessutom försöker bedragare att bli rika på dessa problem - nätverket är fullt av erbjudanden om att "ladda ner ett registeroptimeringsprogram, efter installationen kommer datorn att köras 30% snabbare." Vanligtvis följs ett sådant erbjudande av ett formulär för att skicka SMS, vilket bekräftar tidigare misstankar. Du bör inte vara uppmärksam på sådana saker, och ännu mer tro dem - då kommer du inte att förlora varken pengar eller nerver.

Registrets huvudgrenar, deras innebörd och syfte.

HKEY_CLASSES_ROOT är en länk till nyckeln HKEY_LOCAL_MACHINE\ Software\Classes. Informationen som lagras här säkerställer att det önskade programmet startas när filen öppnas med File Explorer. Det här avsnittet innehåller länkar mellan applikationer och filtyper, samt information om OLE.

HKEY_USERS - det här avsnittet innehåller inställningar för alla användare av datorn.

HKEY_CURRENT_USER - Denna gren är en länk till en specifik HKEY_USERS intern undernyckel. Alla inställningar ställs in efter vilken användare som för närvarande är inloggad i systemet (dvs vilken session som är aktiv).

HKEY_LOCAL_MACHINE - innehåller nästan de inställningar och alternativ som hör till den här datorn, inklusive hårdvaruinställningar, hårdvarukonfiguration och användarprofiler.

HKEY_CURRENT_CONFIG är i princip bara en referens till HKEY_LOCAL_MACHINE\ SYSTEM \CurrentControlSet\ Hardware Profiles\Current. Det finns alla inkommande hårdvaruinställningar som krävs för att starta systemet.

De huvudsakliga standardsektionerna skrivna ovan kan inte tas bort eller byta namn. Vissa registernycklar är flyktiga och lagras inte i någon fil. OS skapar och hanterar dessa partitioner helt i RAM-minne utan att lagra dem på hårddisken, så de är av tillfällig karaktär. Systemet skapar flyktiga partitioner varje gång det startar. Till exempel är HKEY_LOCAL_MACHINE \HARDWARE en registernyckel som lagrar information om hårdvaruenheter och deras tilldelade resurser. Resurstilldelning och maskinvaruupptäckt sker varje gång systemet startar, så det är logiskt att denna data inte behöver lagras permanent på hårddisken.

Hur man sparar "redan förvärvad".

Ibland är det användbart att göra en säkerhetskopia (säkerhetskopia) av systemregistret - av rädsla för att skada det. Detta kan hända som ett resultat av misslyckade experiment med registret, felaktig installation av drivrutiner och dussintals andra orsaker. Ja, och att ha det "för säkerhets skull" skadar inte heller. För att inte göra detta manuellt varje gång kan du använda något av de många auto-backup-programmen, till exempel Comodo Backup.