ريجيستري
فصل اول:
· مقدمه اي بر رجيستري
· نحوه عملكرد برنامه اجرايي Regedit.exe
· نحوه ساختن يك دستور و انتخاب نوع
آن
· مشاهده تأثير تغييرات ايجاد شده
در رجيستري
· تهيه نسخه پشتيبان از رجيستري و
تعمير رجيستري آسيب ديده.
مقدمه اي بر رجيستري (Registry)
در ابتدا كامپيوترها و
كاربران بر اساس سيستم عامل MS-DOS فعاليت مي كردند و برنامه هايي كه ساخته مي
شد بر اساس اين سيستم عامل بودند. برنامه تحت DOS برنامه هايي
بودند كه كاربر از راهي مشخص وارد برنامه مي شد. مراحلي را طي مي كردو راه خروج
نيز مشخص بود و كاربر هميشه مجبور به طي كردن مسيرهاي مشخص بود و براي رسيدن به
منو و پنجره اي حتماً بايد از منو و پنجره قبلي از آن عبور مي كرد و هيچگونه
اختياري در تنظيم منو، پنجره ها و يا تغيير آنها نداشت (كه احتياج باشد در جايي
ثبت شود). اين خاصيت سيستم عامل DOS باعث مي شد كه اكثر تنظيمات اين برنامه هاي
كاربردي در مرحله برنامه نويسي و Compile كردن انجام شود و احتياجي جهت ثبت تنظيمات
در فايل نباشد.
با يان وج
با اين وجود سيستم عامل DOS از رجيستري (Registry) مستثني نبود
و سه فايل Config.sys، MsDos.sys،
Autoexec.Bat وجود داشتند كه سيستم عامل
DOS و جمعاً برنامه هاي كاربردي تنظيماتي مانند اختصاص دادن Buffer و يا تعريف Cdrom و غيره را در اين غايل ها ثبت مي كردند و در
واقع اين سه فايل نقش محضر خانه ثبت و يا همان Registry را ايفا مي
كردند.
بعد از سيستم MS- DOS سيستم عامل Windows
3X داراي پنجره هايي بود كه
كاربر مي توانست درنحوه ظاهر شده، رنگ، اندازه پنجره ها ونحوه اجرا شدن برنامه ها
دخالت كرده (امكاني كه در DOS وجود نداشت) و آنها را به دلخواه تنظيم كند.
چيزي كه در اين جا مسلم است اين است كه تنظيمات سيستم عامل و يا تنظيماتي كه توسط
كاربرر اعمال مي شد بايد در فايلي ذخيره مي شد تا هر بار كه سيتم عامل راه اندازي
مي شود، و احتياجي به تنظيمات مجدد نباشد، از طرفي به علت آنكه تنوع تنظيماتي كه
توسط كاربر و يا برنامه هاي كاربردي ايجاد مي شد، بسيار متعدد بود و ممكن بود كه
كاربران بخواهند دائماً اين تنظيمات را تغيير دهند و از طرفي ديگر اگر سازندگان
اين سيستم عامل مي خواستند كه از همان سه فايل DOS براي ثبت اين
تنظيمات استفاده كنند ممكن بود اين سه فايل حياتي و Boot كننده سيستم
نيز بودند، دچار اشكال شده و آسيب ببينند. به همين منظور اين بار و در اين سيستم
عامل فايلهايي با پسوند imi كه مهمترين آنها Control.ini , System.ini , Win.ini بودند وظيفه ثبت تنظيمات (محضر خانه) و يا Registry را بر عهده
گرفتند.
و در نهايت نسل سوم رجيستري
از زماني آغاز شد كه سيستم عامل ويندوز سري 9X كه معروفترين
و پركارترين آنها 95 ,
98 مي باشد، به بازار عرضه شد
(كه داراي رابط گرافيكي بسيار قوي (GUL) و پنجره هاي زيادي مي باشند.) اين ويندوز
به واسط ساختار آن مي تواند سخت افزارهاي مختلفي را پشتيباني كند و برنامه هاي
كاربردي زيادي تحت اين ويندوزساخته شد و به واسطه اين رابط گرافيكي كاربران مي خواهند
تنظيماتي را بر روي پنجره ها، فونت ها، سخت افزارها و برنامه ها به وجود آوردند.
در اين ميان آنچه كه مسلم است اين است كه اين تنظيمات (كه موارد آن ها هم بسيار كم
نيست) احتياج به ثبت در محضرخانه (Registry) دارند و از طرفي فايلهاي Control.ini , System.ini , Win.ini از نوع فايلهاي متني بودند و به واسطه اين
تنظيمات حجم اين فايلها بسيار زياد مي شد. و Load شدن اين
فايلهاي متني در هنگام شروع ويندوز و اعمال تنظيمات ذخيره شده در آنها زمان زيادي
را به خود اختصاص مي دادند و از طرفي آسيب پذير مي شدند؛ به همين دلايل سازندگان
ويندوز اين تنظيمات را بر دو فايل System.dat، User.dat بنا نهادند كه اين فايلها را بر اساس اعداد
باينري و Hex ساخته مي شدند، هم اهميت بيشتري داشتند و هم حجم كمتري را اشغال
مي كردند.
در ويندوز هاي XP, 2000, 9X وظيفه محضرخانه ثبت (Registry) بر عهده فايل User.dat و System.dat كه در پوشه Window مي باشد را در اختيار كاربر قرار داده است
تا بتواند در صورت لزوم دستورات مقدار ها و تنظيمات Registry (مانند
دستوراتي كه در اين كتاب گفته شده است) را به دلخواه خود تغيير دهد و يا دستور و
مقدار جديدي را صادر كند.
توجه: لازم به ذكر است كه اگر اطلاعات كافي در مورد قسمتي از رجيستري
ندارد هيچ گاه آن را تغيير ندهيد. اين دستورات و مقدارهاي رجيستري به ترتيب از 5
شاخه منشعب و از 11 نوع داده ساخته مي شوند كه در بخش بعدي همراه با توضيح برنتامه
Regedit.exe به تفصيل شرح داده خواهد شد.
نحوه عملكرد برنامه اجرايي Regedit.
Exe
برنامه Regedit.
Exe برنامه اي مي باشد كه
ويندوز آن را در اختيار قرار داده است تا بتواند در دستورات و مقدارهاي Registry تغييراتي را به دلخواه ايجاد كند. فايلهاي منبع اين برنامه دو
فايل User.dat و System.dat مي باشد
و هر تغييري كه از طريق اين برنامه Registry ايجاد شود،
مستقيماً در اين دو فايل اعمال مي شوند.
توجه: هر
تغييري در ريجستري سريعاً اعمال خواهد شد و برنامه Regedit. Exe هيچگونه
تأئيده اي از كاربر نخواهد گرفت.
براي اجرا
كردن برنامه Regedit. Exe وارد منوي Run از دكمه Start شده و اسم فايل را تايپ كنيد و با انتخاب دكمه Ok، اين برنامه
اجرا خواهد شد.(شكل 1-1 را ببينيد)
مخفي و غير
قابل دسترسي كردن پارتيشن هاي
Cdrom Hard و Floppy
يقيناً شما
اطلاعات و فايلهايي را روي Hard كامپيوتر خود داريد كه نمي خواهيد ديگران به
آن دسترسي پيدا كنند و يا نمي خواهيد كه كاربري بتواند از Floppy و يا cd- Rom استفاده كند.
براي انجام اين امر دستور زير را با مقادير داده
شده در جدول به كار ببريد.
سيستم عامل : 98- Me- 2000- XP
مسير:HKEY- Current- User\ software\ Microsoft\
Winows\Policies\Explorer
نوع: Binary Value
دستور:
NoDrives
طبق جدول 1:
مقدار
توجه: جهت بي
اثر كردن اين دستور، NODrives را از مسيرگفته شده حذف كنيد.(جدول1)
00
00 00 01
|
Y
|
00
00 01 00
|
Q
|
00
01 00 00
|
I
|
01
00 00 00
|
A
|
00
00 00 02
|
Z
|
00
00 02 00
|
R
|
00
02 00 00
|
J
|
02
00 00 00
|
B
|
|
|
00
00 01 00
|
S
|
00
04 00 00
|
K
|
04
00 00 00
|
C
|
|
|
00
00 08 00
|
T
|
00
08 00 00
|
L
|
08
00 00 00
|
D
|
|
|
00
00 10 00
|
U
|
00
10 00 00
|
M
|
10
00 00 00
|
E
|
|
|
00
00 20 00
|
V
|
00
20 00 00
|
N
|
20
00 00 00
|
F
|
|
|
00
00 40 00
|
W
|
00
40 00 00
|
O
|
40
00 00 00
|
G
|
|
|
00
00 80 00
|
X
|
00
80 00 00
|
P
|
80
00 00 00
|
H
|
جدول 2 (Hex)
F
|
E
|
D
|
C
|
B
|
A
|
15
|
14
|
13
|
12
|
11
|
10
|
مثال:
1- مخفي
كردن (A):
Floppy
|
|
مقدار: 01 00 00 00
|
2- مخفي
كردن پارتيشن C:
|
|
مقدار: 04 00 00 00
|
3- مخفي
كردن پارتيشن C , D:
|
|
مقدار: 0C 00 00 00
|
توضيح: تمامي
محاسبات اين مقادير و اين مثالها در مبناي Hex محاسبه مي شوند، پس اگر بخواهيم فقط يكي از
پارتيشن هاي Hard را مخفي كنيم طبق جدول 1 عمل خواهيم كرد.
ولي اگر بخواهيم دو، سه و يا چند پارتيشن مجزا را همزمان مخفي كنيم بايد طبق
دستورالعمل و مثالهاي زير عمل كنيم:
04
00 00 00
|
(مقدار):
درايوC
|
08
00 00 00 +
|
(مقدار): درايوD
|
:012
00 00 00
|
|
همانطوركه در
اعداد مبناي 16 (Hex) به جاي اعداد 10 الي 15 از مقادير جدول 2
استفاده مي شود نوشتن عدد 12 در مقدار باينري در يك خانه غير مجاز مي باشد پس
داريم:
خانه هشتم خانهاول
خانه
هشتم خانهاول
4- مخفي
كردن A, C , D :
01
00 00 00
|
(مقدار):
درايوA
|
04
00 00 00
|
(مقدار):
درايوC
|
08
00 00 00 +
|
(مقدار):
درايوB
|
:013
00 00 00
|
|
نوشتن اعداد
10 الي 15 در يك خانه مجاز نمي باشد پس طبق جدول 2 داريم:
(شكل 2-1 را
مي بينيد) A , C , D درايو: (مقدار): 0D
00 00 00
5- مخفي كردن
پارتيشن E , C:
|
04
00 00 00
|
(مقدار):
درايوC
|
|
10
00 00 00 +
|
(مقدار):
درايوE
|
|
14
00 00 00
|
|
:14
00 00 00
|
(مقدار):
درايوE و C
|
|
|
|
|
توجه: در اين
مثال عدد 14 ظاهر شده است ولي چون عدد 1 آن در خانه ديگر مي باشد احتياجي به
استفاده از جدول 2 نمي باشد.
6- مخفي كردن
پارتيشن D , F:
|
04
00 00 00
|
(مقدار):
درايوD
|
|
10
00 00 00 +
|
(مقدار):
درايوF
|
|
28
00 00 00
|
|
28
00 00 00
|
(مقدار):
درايوF و C
|
|
|
|
|
7- مخفي كردن
پارتيشن H و F:
20
00 00 00
|
(مقدار):
درايوF
|
80
00 00 00 +
|
(مقدار):
درايوH
|
:100
00 00 00
|
|
توجه: به دليل
ظاهر شدن يك از اعداد 10 الي 15 در يك خانه از جدول 2 استفاده مي كنيم:
H
, F درايو: (مقدار) : A0 00 00 00
8- مخفي كردن
پارتيشن هاي A , C , D , E , F :
01
00 00 00
|
(مقدار):
درايوA
|
04
00 00 00
|
(مقدار):
درايوC
|
08
00 00 00
|
(مقدار):درايو
D
|
10
00 00 00
|
(مقدار):
درايوE
|
20
00 00 00 +
|
(مقدار):
درايوF
|
313
00 00 00
|
|
توجه: به دليل
ظاهر شدن عدد 13 در يك خانه از جدول 2 استفاده مي كنيم:
A
, C , D , E , F (مقدار): 3D 00 00 00
08
00 00 00
|
(مقدار):
درايوD
|
10
00 00 00
|
(مقدار):
درايوE
|
00
08 00 00
|
(مقدار):درايو
L
|
20
00 00 00 +
|
(مقدار):درايوM
|
313
00 00 00
|
|
توجه: در اين
عدد 18 ظاهر شده است ولي چون عدد
1 آن در يك خانه و عدد 8 آن در خانه ديگر مي باشد احتياجي به استفاده
از جدول 2 نمي باشد.
D,
E, L, M درايو: (مقدار): 18 18 00 00