السؤال الأول: ما هي تسجيلات النظام (الرجستري) ؟
تسجيلات أو سجل النظام أو كما هو متداول "الرجستري"
هيا عباره عن قاعدة بيانات ضخمه تستخدم لتخزين الإعدادات والخيارات لمايكروسوفت ويندوز
(Win 9x/Me/NT/2000/XP/.NET) ذات 32 بت. وهيا تحوي
إعدادات الأجهزه (هاردوير), البرامج, المستخدمين, وتفضيلات جهاز الكمبيوتر.
فإن قام مستخدم في تغيير إعدادات لوحة التحكم أو مصادقة ملف, تأمينات النظام أو قام بتنصيب
برنامج ما فإن جميع هذه الأمور ستنعكس وتسجل في الرجستري. يعني كل صغيره وكبيره سيقوم
بها المستخدم ستسجل في الرجستري سواء أكانت برامج ( سوفت وير) أو أجهزه (هارد وير).
ويتم تخزين قاعدة البيانات هذه في ملفات نظام مخفيه وهذا حسب إصدار الويندوز لديك :
ففي الويندوز 9x (Windows 95/98) تكون في ملفين مخفيين داخل مجلد الويندوز لديك.
وهما USER.DAT و SYSTEM.DAT .
وفي الويندوز Me هنالك ملف إضافي وهو CLASSES.DAT
وستجد الملفات الثلاث أيضاً داخل مجلد الويندوز.
أما في الويندوز NT/2000/XP/.NET فتخزن هذا الملفات داخل مجلد32 في مجلد
الويندوز(%SystemRoot%\System32\Config).
ولا يمكنك تحرير هذه الملفات وقراءة ما فيها مباشرةً فيها مشفره.
ويتم ذلك من خلال برامج معينه مثل المحرر الرجستري المشهور (Registry Editor)
للتغير أو الإضافه داخل الرجستري .
هيكلة أو بنية الرجستري
هيكلة الرجستري التشعبيه معقده جداً فهيا مشابهه لهيكلة القرص الصلب,
فعندما تستخدم محرر الرجستري Regedit ستشعر وكأنك تستخدم مستكشف الويندوز.
وكما هو موضح في الصوره ,
فهنالك الخلايا (أو كما يسميها البعض الجذوز) الرئيسيه وعددها سته.
وأما ما ينسدل تحت هذه الجذور فتسمى بالمفاتيح ,وما ينسدل تحت المفاتيح تسمى المفاتيح الفرعيه
..ويتبع لكل مفتاح فرعي قيم و أوامر (مفاتيح أمر), وكذلك مفاتيح فرعيه أخرى. الجذر,
المفاتيح والمفاتيح الفرعيه كل منهم له على الأقل مفتاح أمر واحد (في الجهه اليمنى لمحرر الرجستري),
وحجم هذا الفتاح إما String أو DWORD أو BINARY .. سنتطرق لهذه الأنواع لاحقاً.
هنالك خمسة أو ست جذور (خلايا) والمستخدمه لتصنيف البيانات وتنظيمها, وهيا:
- HKEY_CLASSES_ROOT :
في هذا الجذر يعرف ويصف كل أصناف المستندات, حسب أنواع الملفات , وكيف تتم معالجتها وإدارتها.
- HKEY_CURRENT_USER :
وفي هذا الجذر تكوين المستخدم الحالي وتفضيلاته.
- HKEY_LOCAL_MACHINE:
وأما في هذا الجذر فيتكون معلومات عن الجهاز ,
من بينها معلومات عن الأجهزه والبرامج والشبكه والحمايه ...
وما أطرحه عليكم من أوامر - أمثله - فهيا تتبع الحمايه .
- HKEY_USERS:
وفي هذا الجذر يتم سرد جميع المستخدمين الذين يملكون وصولاً إلى هذا الجهاز مع إعداداتهم وتفضيلاتهم.
- HKEY_CURRENT_CONFIG:
وهنا يتم تزويد جميع البيانات لتكوين الأجهزه على الكمبيوتر مثل الطابعه وشاشة الكمبيوتر المحلي.
فهذا الجذر مشتق من الجذر (HKEY_LOCAL_MACHINE).
- HKEY_DYN_DATA:
وهذا الجذر أيضاً مشتق من الجذر (HKEY_LOCAL_MACHINE), وهو يحتوي على الخصائص والبيانات المسجله عن Plug-&-Play للويندوز. فمثلاً في حالة تغيير لكرت الشاشه لديك أو لأي جهاز أخر فإنه يتم تسجيل بيانات هذا الجهاز هنا في هذا الجذر.
أما أنواع الحجوم (القيم) المستخدمه في الرجستري, فهيا خمسة أنواع رئيسيه متداوله :
- REG_BINARY :
هذا النوع يقوم بتخزين القيم بشكل معلومه ثنائيه,
ويستخدم وبشكل عام لتخزين المعلومات عن عناصر قطع الأجهزه.
وتعرض القيمه في المحرر على شكل نظام ست عشري (hexadecimal).
- REG_DWORD :
وهذا النوع يمثل البيانات بشكل 4 بايت وهو يملك قيم عوامل منطقيه,
مثلاً القيمه "1" – تمكين أو تفعيل, القيمه "0" – بالعكس.
وهنالك طريقتين لإعطاء القيم لهذا النوع, فإما قيمه عشريه أو قيمه ست عشريه.
- REG_EXPAND_SZ :
هذا النوع لسلسلة حروف ممتده تتضمن متغير بحيث يتم إستبداله عند طلب تطبيق معين له.
فمثلاً لحجم String أعطيناه هذا المتغير %SystemRoot% ,
فسيتم إستبداله بالقيمه الحقيقيه وهيا إسم مجلد الويندوز على الجهاز.
(هذا النوع يستخدم غالباً لمحرر الرجستري 32).
- REG_MULTI_SZ :
هذا النوع لسلسلة حروف متعدده, ويستخدم لتمثيل القيم التي تشمل قوائم أو قيم متعدده.
ومدخلاته تكون منفصله ب NULL حرف. (هذا النوع يستخدم غالباً لمحرر الرجستري 32).
- REG_SZ :
هذا الأمر فهو لسلسلة حروف معينه أو ثابته, وتمثل أسماء على شكل نص حرفي واضح.
وهنالك أنواع أحجام (قيم) غير متوفره من خلال محررات الرجستري المعروفه :
- REG_DWORD_LITTLE_ENDIAN
- REG_DWORD_BIG_ENDIAN
- REG_LINK
- REG_NONE
- REG_QWORD
- REG_QWORD_LITTLE_ENDIAN
- REG_RESOURCE_LIST
محرر الرجستري :
محرر الرجستري هو عباره عن برنامج توفره مايكروسوفت في جميع إصدارات الويندوز,
لتحرير سجلات النظام. من عرض, تغيير, إزاله أو البحث عن المدخلات من بيانات و أوامر .. إلخ.
ويمكنك الوصول إلى هذا المحرر من خلال أمر "تشغيل" في قائمة زر إبداء وهذا بكتابة "regedit"
ثم إنتر (طبعاً إن كنت تملك صلاحيه لذلك). أو ستجده داخل مجلد الويندوز لديك, فقط قم بتشغيله.
وهنالك محرر أخر للرجستري (وكما أسميه المحرر البديل). وهو "regedit32.exe", فهو متوفر فقط في ويندوزات NT/2000/XP/.NET. وهو يتضمن بعض الميزات الإضافيه الغير موجوده في المحرر "regedit.exe". مثل القدره على إظهار و التغيير في التراخيص الأمنيه. وكذلك إنشاء و التحكم في مفاتيح الحروف الطويله (REG_EXPAND_SZ & REG_MULTI_SZ).
إنشاء إختصار لمحرر الرجستري
لتسهيل عملية الوصول إلى محرر الرجستري بإمكانك إنشاء إختصار على سطح المكتب. قم بإضافة إختصار جديد على سطح المكتب وهذا من خلال الضغط على الزر الأيمن للفأره في أي منطقه فارغه على سطح المكتب ثم من "جديد" إختار "إختصار". وضع له الأمر "regedit.exe", وسمه مثلاً "محرر الرجستري". والأن قم بتشغيله لفتح محرر الرجستري مباشرةً.
تغيير القيم بإستخدام محرر الرجستري
قم بتشغيل محرر الرجستري كما أشرت إليه من قبل. فإنك ستشاهد في القسم الأيسر مجلدات وهيا على شكل شجري تماماًً كما هو في مستكشف الويندوز. وفي الجهه اليمنى سترى محتويات (قيم) المجلد المحدد في الجهه اليسرى.
الأن وفي الجهه اليسرى وعلى يسار كل مجلد (جذر) هنالك إشارة [+] . قم بالضغط عليها لعرض محتويات المجلد أو يمكنك الضغط مرتين وبسرع على المجلد لعرض محتوياته. قم بإختيار أحد هذه المجلدات (الجذور) لعرض محتوياته ثم عيين (إضغط على) أحد المجلدات الفرعيه (وكما أسميها مفاتيح فرعيه) لترى وفي الجهه اليمنى قائمه من القيمه (أو مفاتيح الأوامر). يمكنك من خلال الضغط المزدوج (أو بضغط الزر الأيمن على مفتاح الأمر ثم إختيار "تعديل" أو "Modify") لتغير أو تعديل قيمة المفتاح اللذي تريده. وكذلك يمكنك إضافة مفتاح أمر جديد وهذا بالضغط على الزر الأيمن في أي منطقه ثم "جديد" لعرض القائمه وإختيار نوع حجم مفتاح الأمر الجديد ("DWORD Value" أو "String Value" أو "BINARY Value" ...), ثم تسمية المفتاح.
هنالك طريقه أخرى وهيا من خلال إستخدام قائمة "Edit" , "عرض" في المحرر. أو إستخدام بعض المفاتيح مثل F2 لإعادة التسميه و Delete للمسح .. ألخ.
نصيحه: "ويا نصيحه ببلاش بكره بتصير بمصاري"
أرجو نأن تقوم بأخذ نسخه إحتياطيه للرجستري تجنباً لحدوث أية مشاكل. فكيف تقوم بذلك: ؟؟؟
إستيراد و إصدار إعدادات الرجستري
طريقة إستيراد أو إصدار الإعدادات من الرجستري سهله للغايه.
قم بتشغيل محرر الرجستري ومن قائمة "سجل" أو "Registry" ستجد أمرين وهما "إستراد ملف الرجستري" و "إصدار ملف رجستري" أو "Import Registry File.." و "Export Registry File.." .
كيف أستخدم هذين الأمرين:
Export Registry File :
من خلال هذا الأمر يمكنك أخذ نسخه إحتياطيه للرجستري. وكذلك إصدار أي قائمه لمفتاح فرعي في ملف REG .
فمثلاً لأخذ نسخه إحتياطيه للرجستري كاملاً قم بتعيين (إضغط على) جهاز الكمبيوتر "My Computer" ثم إتجه إلى قائمة سجل "Registry" وأختر إصدار ملف رجستري ( Export) فيظهر لك صندوق حفظ الملف, قم بتسميته وإختيار المكان اللذي تريد حفطه عليه (على القرص الصلب) ثم إختيار الخيار "جميع" أو "All" في الأسفل, ثم حفظ "Save". وبهذا يتم حفظ نسخه من الرجستري لديك. وهنالك طريقه أخرى سأشرحها لاحقاً.
وهكذا هو الأمر لإصدار أي قائمه لمفتاح فرعي, ولكن دون إختيار الخيار "All", فستجد خيار أخر موضح فيه مسار المفتاح الفرعي اللذي تود إصداره (حفظه في ملف REG).
معلومه: قم بإستخدام محرر النصوص Notepad لفتح ملف ال reg الذي قمت بإصداره. فماذا ترى ؟؟؟
سترى شئً من هالقبيل: وهذا على سبيل المثال:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\Setup]
"SetupType"=dword:00000000
"CmdLine"="setup -newsetup"
"SystemPrefix"=hex:c5,0b,00,00,00,40,36,02
نص واضح و مفهوم. فالسطر الأول يمثل إصدار الرجستري لديك (وهذا الإصدار الأحدث: Windows Registry Editor Version 5.00) والمستخدم في الويندوز 2000/XP .
في السطر الثالث مسار المفتاح الفرعي الذي قم بإصداره. أم الأسطر المتبقيه فكل سطر يمثل مفتاح أمر واحد وحجمه وقيمته.. أعتقد بأن الأمر واضح ولا داعي للشرح. !!!
كيف يمكنني مسح أو إضافة مفتاح (أو مفاتيح) أمر بواسطة ملف reg ؟
إن كنت ذكياً فلا بد وأنك قد عرفت الجواب من ما سبق شرحه.
فمثلاً لإعطاء مفتاح الأمر "SetupType" في مثالنا السابق القيمه "1" لتفعيله. فقط قم بتغيير القيمه (00000000) إلى القيمه (00000001). والأن إحفظ الملف ثم قم بتشغيله (أو بالضغط على الزر الأيمن للفأره على الملف وإختيار "ضم" أو "Merge"). وبهذا يتم إعطاء القيمه الجديده لمفتاح الأمر داخل الرجستري.
فماذا لو أردت مسح مفتاح الأمر "SetupType" : فقط قم بإضافة [-] ما بعد إشارة [=]. هكذا ("SetupType"=-), ثم قم بحفظ التغيير وشعل الملف. وبهذا يتم مسح هذا المفتاح من داخل الرجستري. وإن لم تصدق أدخل إلى الرجستري وتأكد.
وعلى فكره هذه الطريقه مفيده جداً وبنفس الوقت فهيا تمثل خطر كبير جداً جداً. فكونوا حريصين.
هل يمكنني التعامل مع الرجستري من خلال الدوس أو محرر أوامره على الويندوز :
نعم يمكنك التعامل مع الرجستري من خلال محرر أوامر الدوس, أو من الدوس خارج الويندوز وكذلك يمكنك إستخدام الباتشات.
وكما هو مبين فيمكنك إستخدام عدة خيارات للتعامل مع الرجستري على هذا النحو:
regedit.exe [options] [filename]
filename - هذا لإسم الملف (ومساره) الذي سيتم إستيراده من الرجستري
Options - عباره عن خيار تقوم بإختياره حسب ما تود عمله:
/s – لعدم إظهار صندوق التأكيد للطلب.
/e – طلب إصدار ملف reg.
/L:system – تحديد مسار ملف ال "system.dat" الذي تود إستخدامه (فمثلاً لتطبيق الأمر على مستخدم أخر).
/R:user – نفس االأمر السابق ولكن لتحديد ملف"user.dat".
/C – وهذا الأمر لضغط ملف ال reg ويستخدم هذا الأمر مع الويندوز 98 .
مثال بسيط لإستيراد سجلات مستخدم معين من الدوس: (Windows 9X)
قم بإعادة التشغيل بوضعية الدوس, ثم قم بالدخول إلى مجلد الويندوز لديك. مثلاً:
cd c:\windows
والأن يجب عمل صلاحيه (إزالة صفة "للقراءه فقط" و "سري") لملفات النظام DAT وتطبيق أمر الإستيراد:
attrib -h -r -s system.dat
attrib -h -r -s system.da0
copy system.da0 system.dat
attrib -h -r -s user.dat
attrib -h -r -s user.da0
copy user.da0 user.dat
كيف أقوم بعمل backup ثم restore للرجستري : ؟؟؟
ويندوز 98 وما بعده تقوم تلقائياً بعمل backup للرجستري عند كل مره تقوم بها بالدخول إلى النظام. وكذلك عند تسجيل الخروج في بعض الأنظمه مثل 2000/XP . فالملفات والطرق مختلفه من ويندوز لأخر: فالويندوز 9X/NT لهم نفس الأليه لعمل باك أب, أما 2000/XP/.NET فلها أليه مختلفه تماماً.
Windows 98:
كما ذكرت سابقاً فإن 98 يقوم يعمل backup تلقائياً عند تسجيل الدخول لملفات ال DAT. فإن أردت عمل ذلك بنفسك قم بتشغيل الملف "SCANREGW.EXE" من "إبداء" ثم "تشغيل" .
Windows NT/2000/XP/.NET :
هنا الأمر يختلف تماماً. فبكل بساطه قم بالضغط على زر F8 عند بدء التشغيل لتظهر لك قائمه قم بإختيار الخيار "Last Known Good" لإستعادة أخر وضع جيد كان عليه النظام.
أما بالنسبه لملفات الرجستري في هذه الأنظمه فستجدها داخل " \system32\config" في مجلد الويندوز لديك. وهيا ملفات لا إمتداد لها. وستجد لها نسخه إحتياطيه في نفس الجلد بإمتداد savأو في المجلد " repair" داخل مجلد الويندوز.
كيف أقوم بتنظيف الرجستري من المفاتيح القديمه وعديمة الفائده: ؟؟؟
بالتأكيد لا يمكنك أو من الصعب عمل ذلك يدوياً, فهنالك برامج عديده مخصصه لذلك مثل " RegClean" وغيره.
Tue Nov 05, 2013 6:35 am by okba als
» ترحيب بالأعضاء
Tue Nov 05, 2013 6:09 am by okba als
» برنامج يعلمك لغة الدلفي بشكل مثير
Mon Nov 04, 2013 10:53 pm by سيد برتوكول
» دليل هاتف الدلفي
Sun Nov 03, 2013 11:24 am by سيد برتوكول
» سلسلة فيبوناتشي
Sun Nov 03, 2013 11:22 am by سيد برتوكول
» كود جميل ورائع جربه واعرف بنفسك ماذا يعمل
Wed Apr 17, 2013 1:55 am by سيد برتوكول
» المبرمجون مستائون من الواجهة الرسومية لويندوز ٨ (Windows 8)(نسخة المطورين)
Thu Jun 21, 2012 10:26 pm by pc-king.dahek.net
» حزيرة للعلماء
Tue Apr 10, 2012 3:23 am by عفريت السويداء
» اسباب تجعل الكمبيوتر يعمل بشكل بطيء
Sun Mar 18, 2012 6:49 am by عفريت السويداء
» دروس المبتدئين.....الدرس الأول (تعليم القص)
Sat Mar 17, 2012 6:03 am by عفريت السويداء