Egyenes vágás Windows rendszerleíró
Mi vezetjük be a belső szentélyében a rendszer anélkül, hogy szabványos mechanizmus
Ami a jövőt illeti, megjegyzem, hogy ez a téma érdekes, de van egy egész sor súlyos problémákat. De ki mondta, hogy mi nem a vállát? 🙂
Szemszögéből a Windows operációs rendszer, a rendszerleíró adatbázis - ez egy egyedülálló pince. Ez az egyedi kialakítású hierarchikus adatbázis tárolja a konfigurációs adatokat, regisztrációs adatokat és más szar kb szinte mindent a rendszerben, kezdve a program, és befejezve a beállításokat az adott felhasználó. Nyilvános bejegyzések gyakorlatilag mindent. Annak ellenére, hogy néhány program inkább tárolják a beállításokat az ini-config (különösen írt programok Win 3.11 -. Ed ..), maga a Windows minden információt maga olvassa a nyilvántartásból. A tisztesség, tudomásul vesszük, hogy a * nix-szerű operációs rendszer még mindig uralja a rendszer beállításait tárolja különböző konfigurációk.
Kezdőknek - rendszergazdák elején a regisztrációs vének attól, hogy a rossz beállítás és módosítása registry beállításokat teljesen töltse ki a rendszer a későbbi újratelepítés. És ez igaz.
Például az úgynevezett visszaállítási pontokat - egy másolatot a rendszerleíró adatbázist. Ezek széles körben használják a felhasználók az esetre, ha különböző problémák, mint az operációs rendszer, és a szoftver és hardver.
Azt kell mondanom, hogy 99% -a az információkat a Windows Registry - egy leírást a fő kulcsa, valamint tippeket, hogyan kell dolgozni velük. De dolgozik a registry az operációs rendszer? És ha tudjuk emulálni tevékenységét? Gondoljunk egy kicsit.
Registry - erős és gyenge Windows oldalon. Erős regisztrációs oldala az, hogy nincs szükség manipulálni Tuyev huchey configs a szoftverfejlesztők, mint például végre a Knicks. Regisztrálj és kényelmes az alkotók COM-összetevők - a rendszer automatikusan észleli összetevője a jegyzék és megkönnyíti a további használatra.
Registry gyengesége, hogy a hozzáférést az érzékeny területeken a registry módosítás lehetővé teszi, hogy ellenőrizzék a Windows programot írt néhány nouveau malvarschikom. Ne feledje, még a legismertebb ága a Windows rendszerben, amely lehetővé teszi, hogy a program fut az OS indítási :).
Hogyan Windows registry működik
Ha a Windows 98 regisztrációs lehetne a javítást minden kinek jött a fejünket, kezdve a Windows XP rendszerleíró adatbázishoz való hozzáférés csak azoknak a felhasználóknak rendszergazdai fiókkal. A Vista + hozzáférést az adatbázis védelme alatt az UAC. Ez érthető.
Be kell vallanom, hogy a kibocsátást a Win7 biztonság fogalmát, amikor dolgozik a rendszerleíró felülvizsgálták a jobb. Például védelme alatt kulcsfontosságú ága a HKEY_LOCAL_MACHINE. Általában egy kísérlet arra, hogy írjon valamit benne lesz irányítva a megfelelő ág HKEY_CURRENT_USER az aktuális felhasználó számára.
Ahhoz, hogy közvetlenül a registry a Windows felajánlja a programozó egy sor WinAPI, ami ismerős lehet minden olyan rendszer fejlesztő - jelentése Reg * függvények, mint RegOpenKey, RegQueryValue és így tovább. Középpontjában a Win NtOpenKey, NtQueryValueKey és még sokan mások. Írja le őket nincs különösebb jelentősége - az összes dokumentációt a megfelelő használatát ezeket a funkciókat megtalálható MSDN.
Érdemes megjegyezni, hogy itt. Antivirus és proaktivki figyelemmel kíséri a felhasználó meghatározott cselekvések csapdák ezeket a funkciókat, mind a sejtmagban és yuzermode.
A kiadás a Win7 x64 a helyzet megváltozott, és már írta egyszer. A Windows fejlesztők úgy döntött, hogy feladja a lehetőséget, hogy elkapjam a potenciálisan veszélyes funkciók Win sejtmagban. Most a változó KeServiceDescriptorTable x64 hosszabb exportált, és átírni a helyes kódrészletet nem fog működni - PatchGuard nem. Vannak, persze, szadomazochizmus megoldások megkerülni ezeket a korlátozásokat -, de nem lesz több, mint szar profit. Különösen, hogy a Microsoft kényelmes ObRegisterCallbacks visszahívások figyelemmel kíséri a registry.
Információk az interneten a struktúrák, amelyek leírják az alap registry fájlok nagyon kicsik. És szinte mindegyikük angolul. Alapvető ismeretek megtalálhatók itt. Ezen kívül jól a registry van írva a Bibliában elemző „Belső eszköz a Windows» származó társait M. Russinovich és David Solomon.
De mi az a regisztrációs az igazi? Ha megnézzük WINDOWSsystem32config mappát, akkor láthatjuk, több fájl: a rendszer, szoftver, biztonság, SAM, és még sokan mások.
Ez a regisztrációs fájlokat.
Windows registry fájlokat
Azonban tisztességtelen beszélni a registry csak valamiféle kombinációja fájlokat a memóriába betöltött. Sok benne az adatbázis dinamikus jellegű, vannak számos számított értékek bootoláskor a rendszer, különösen vonatkozik ez egyes vas paramétereit. Például az ilyen sub HKEY_DYN_DATA nyilvántartásban, akiknek az adatait, ha az operációs rendszer betöltése a memóriába, és ott befejezéséig az operációs rendszer. Ugyanez, az úton, lehet mondani a HKEY_LOCAL_MACHINE rész, amely nem rendelkezik a megfelelő fájlt a lemezen, de valójában alakult más registry fájlok, például a szoftver, rendszer és mások.
Így aztán az registry is nagyon durván „virtuális kombinációja registry fájlok”. Elindítása után a rendszer, ezek a fájlok a lapozófájl (lapozható), valamint a nem lapozható memória (lapozott).
Annak érdekében, hogy megtanulják, hogyan kell dolgozni a registry közvetlenül ismerete nélkül belső szerkezetét nem csinál semmit. Általában a Microsoft soha nem fedik fel a titkokat a belső szerkezetét alkotó fájlok a registry, mert veszélyezteti a biztonságot. Szerint a megfigyelések, a leírások a rendszerleíró fájlokat, és szerkezete (és ők, az úton csak egy kicsit) - a felmérések eredményei Pionerov kutatók. A legteljesebb, véleményem szerint, a „kutatás” megtalálható itt. tartozik valaki Peter Norris.
Nem megyünk bele a részletekbe most a szervezete és felépítése az adatbázist, az ügy egy hosszú, fáradságos és a jelen cikk kereteit nem pontosan illik. Fontos megérteni, hogy az adatbázis - egy hierarchikus szerkezetű, néha még azt mondják, hogy úgy néz ki, mint egy méhsejt.
Azonnal csalódást: poshamanit könnyedén közvetlenül a rendszerleíró yuzermode nem működik, a rendszer nem fog csinálni, ahogy ez általában történik a fájlokat használja egy másik folyamat. Ha megpróbálja kikerülni, akkor csak olvasni egy „foglalt” fájlt, majd hiszem, ha a zászlókat, amellyel megnyitották. Sajnos, a rekord érdekes számunkra, „a registry file” információkat nem lehet kiadni. Mellesleg, a funkció a megfelelő információkat a nyilvántartásba lehet lovagolni, ha írsz reestrovskie * .BAK-fájlok, csak állnak a felvételt.
De a kernel nem az, amit olvasni, hanem rögzíti a szükséges információkat a rendszerleíró fájlokat egyáltalán lehetséges.
Tehát nézni a kezét :).
Az első dolog, ami jöhet a könnyű fej - nyissa meg a rendszerleíró fájlt közvetlenül és valamit rögzíteni.
Elméletileg megteheti, amire szüksége van, először is, hogy képes legyen dolgozni egy „foglalt” fájlt (keresse a módját az interneten), másrészt, mint már említettük, meg kell tudni, hogy a belső szerkezete a regisztrációs fájlt. Ez a módszer meglehetősen nehézkes, de annak ellenére, hogy kényszerképzetek, ez elég életképes, bár nehéz megvalósítani a gyakorlatban (kísérletezhetsz vele saját).
Itt kétféle módon segít vágjuk apró darabokra adatbázis.
Az első módszer az, hogy a konfigurációs menedzser (Configuration Manager része az operációs rendszer, ha nem tudom) a jegyzék nem más, mint egy sor jól meghatározott struktúrák a működési memóriát, amely, mint kiderült, nagyon könnyen kezelhető. Mi az a struktúra, kérdezed? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, csokor CM_ * struktúrák által használt config-manager, hogy működik a registry. Szemszögéből az operációs rendszer, a jegyzék - ez csak egy sor szabályozott struktúrák a memóriában. Például az aláírás „regf” meghatározó „a registry file”, van egy előre meghatározott állandó:
És itt van az aláírás «regf» ...
Ez az értelme mindennek, a monológ, ami ott van a luxust, hogy manipulálja a regisztrációs az operációs rendszer szintjén, de nem használ neki a rendszeres eszközökkel. Hogyan lehetséges ez? Mi csak semuliruem akció az operációs rendszer, mint ahogy ő dolgozik a rendszerleíró! Ez azért fontos, mert azt mondta, hogy megértsük, mi az operációs rendszer rendszerleíró nem több, mint egy sor megfelelő struktúrák a memóriában.
Ha van, hogy a registry fájlok a rendszermag szintjén, akkor mi vagyunk rosszabbak, mint az operációs rendszer maga, hogy létrehozza a rendelést?
És akkor jelenik meg a színen a legérdekesebb kérdés - hogyan lehet megtalálni ugyanezeket minták a memória? Igaz, a szabványos rendszer segítségével ennek a kérdésnek nem, így van, hogy ki a trükkös.
Tudván, hogy hogyan néz ki szerkezet, emlékeznünk kell arra, hogy minden fájlt, a rendszerleíró struktúra, egy állandó aláírást. Például «regf» - jelentése 0x66676572. Az aláírás a kaptár lesz egyenlő 0xBEE0BEE0. Miután a hozzáférést a memória a kernel, akkor nagyon könnyen megtalálja ezeket az aláírásokat a memóriában, csak proskaniv azt. Egy másik lehetséges proskanit memória keresve aláírás «CM10» - hozzá van rendelve a config-manager egység lapozható memória van hozzárendelve a szerkezet CMHIVE. Úgy vélem megtalálni a elemet mi érdekli memória, el lehet képzelni, hogy mit kell csinálni vele :).
Hogy például, változtassa meg a rendszerleíró értéket a cella? Az érték tárolva CM_KEY_VALUE-> Data, így ha van egy feladat adódik, hogy módosítsa a mező egy adott registry kulcs, keressen az értéket, hogy ott van:
A második kiviteli alak egy változata az első fajta. Ha tudja, hogy létezik egy olyan sajátosság, ha dolgozik a rendszerleíró adatbázis - minden megváltozik, azaz „az új kulcsok / levelet / törlése billentyűk”, mint általában, után lépnek életbe a rendszer újraindítása (vagy újraindítása után felfedező, ez egy hack-módszer). Ezt megelőzően, a változások mintha felfüggesztették, «piszkos» államokban. Sőt, a rendszer kezeli a registry kommunikál vele a cache fájlrendszert. Ez érthető is - kéri az adatbázis lehet száz másodpercenként, illetve ezzel egyidejűleg támaszkodnak fájlrendszer teljesítménye indokolatlan, nincs előadás nem fog megmenteni. Ezért a rendszer és a munka a registry, azt mondják, szinte keresztül a cache fájlrendszert. És akkor, hogy a registry bélben a fény, meg kell, hogy bekerüljön a cache! Hogy ez megtörtént már ismertetett tyrnete, beleértve www.xakep.ru.
Mit kell mondani a végén? Javasolt a cikkben az olvasó egy változata a közvetlen ellenőrzése az adatbázis teljesen kísérleti. Én nem vitatkozni, hogy ez túl nehéz gyakorlati megvalósítása, és sokan azt mondják, hogy jobb, ha a rendes WinAPI-funkcióval rendelkezik a jegyzék - és lesz valami jobbra. Azonban a tény, végre die_hard Lieb elvek alapján megadott cikknek van egy igazán termonukleáris energia kijátssza sem Avery sem az operációs rendszer is.
Erre kivitelben. Sikeres összeállítása és igen Erő legyen veled!