05-09-2020, 02:12 PM
(آخر تعديل لهذه المشاركة : 09-09-2020, 05:21 PM بواسطة the9am3.
تعديل السبب: بطلب من صاحب الموضوع حذف نص..
)
تعتمد معظم انظمة التشغيل على نمطين لتشغيل البرمجيات Software
اليوزر مود والكيرنل مود
طبعا وجود وضعين لتشغيل السوفتوير يزيد من حماية كيرنل النظام لانه كمانعرف حدوث خطأ في اي برامج النظام التي تعمل من قبل ال System سيسبب انهيار النظام
بامكانك ان تجرب وتوقف برنامج (lssase.exe (Local Security Authority Subsystem Service برنامج الحماية وهو من مايكروسوفت عن العمل ثم سيقوم الحاسوب باعادة التشغيل تلقائيا (في ويندوز 10 تظهر شاشة تطلب ان تحفظ عملك لانه سيحدث auto restart )
توزع الداكرة
الان لنقم بتحميل اي برنامج يتخد وضع اليوزرمود في اي منقح وليكن Olly وليكن هدا البرنامج Calc.exe الة الحاسبة الويندوز
بعد تحميله اضغط ALT+E لعرض جميع المكتبات التي يستخدمها البرنامج
سنلاحظ انه يستخدم الكثير من المكتبات الموجودة بالمسار C://Windows/System32
انظر للعناوين
ستلاحظ انهم كلهم يتحملون بعناوين اصغر من 0x80000000
كلهم بما فيهم kernel32.dll,user32.dll,shell32.dll,ntdll.dll
هدا لان الداكرة مقسمة بين اليوزر لاند و الكيرنل لاند
اليوزر لاند يشغل من العنوان x00000000 الى 0x7FFFFFFF والكيرنل لاند تشغل من 0x80000000 الى 0xFFFFFFFF
فمثلا ادا لدبنا حاسوب به داكرة 4GB فان 2 سيدهب لليوزر لاند والاخر سيدهب الكيرنل لاند
______
____________________________________________________
Kernel debugging with WindDbg
______
WinDbg هو اصدار اخر من ال command line debugger (cdb.exe) مدعم بواجهة رسومية GUI متعدد المهام مقدم من مايكروسوفت يعتبر Kernel mode deubgger ,user mode debugger له قدرات عالية بامكانك عبره اصلاح اعطال النظام و
تعمل Attach لبرامج الكيرنل و debug لكيرنل النظام سواء Loacal
او لنظام تشغله بواسطة VMware او لجهاز متصل عبر شبكة او USB
ايضا بامكانك عبره ان تعمل debug للملفات التنفيدية
بامكانك تحميله من هنا
لمادا Kernel Debugging ؟
_ من اجل فهم بنية النظام وكيف يعمل
_لفهم كيف ولمادا تحصل على مثل هده الشاشة
_لتحليل الدرايفرز
_لتحليل الروت كيت
بالنسبة لانشاء اتصال
_افتح الVMware فم اضغط Edit virtual machine setting > ADD > Serial port > pipe >
ثم اختر اي اسم للبورت بعد \\.pipe\ وليكن test
الان شغله ثم ابحث عن System Config
Boot > Advenced setting > Check debug box
ثم Apply
Ok
ثم سيطلب منك اعادة التشغيل لاتعد التشغيل قبل ان تدخل الى
WinDbg > File > Kernel Debug > COM
الان اكتب اسم البورت والدي هو \\.\pipe\test
وتحقق من صندوق pipe لاننا سنتصل عبره reconnect ادا خفق الاتصال
Type :COM
port :\\.\pipe\test
معدل الاشارة بالثانية 115200 Baud Rate
اما عن حقل Resets فهو المدة اللازمة التي يجب الانتظار حتى يعيد الاتصال
هنا 0 يعني لانهائي
ادا ظهر لك هدا فكل شيئ على ما يرام عدا الرموز التصحيح Symbols
رموز التصحيح تساعدك على فهم الكود اكثر فهي تشير لك للدوال
فمثلا بدون رموز تصحيحية
مع رموز تصحيحية
من اجل رموز التصحيح Symbols ادخل
File > Symbol File Path
ادخل في الحقل
طبعا هنا بامكانك ان تحدده انت كما تريد المسار
ثم اعمل Break من debugاو CTRL+Break وادخل reload. او بامكانك ان تعيد الاتصال ليتحمل ال Symbols من سيرفر مايكروسوفت لاول مرة
ثم تتصل ب Virtual machine
اليوزر مود والكيرنل مود
طبعا وجود وضعين لتشغيل السوفتوير يزيد من حماية كيرنل النظام لانه كمانعرف حدوث خطأ في اي برامج النظام التي تعمل من قبل ال System سيسبب انهيار النظام
بامكانك ان تجرب وتوقف برنامج (lssase.exe (Local Security Authority Subsystem Service برنامج الحماية وهو من مايكروسوفت عن العمل ثم سيقوم الحاسوب باعادة التشغيل تلقائيا (في ويندوز 10 تظهر شاشة تطلب ان تحفظ عملك لانه سيحدث auto restart )
توزع الداكرة
الان لنقم بتحميل اي برنامج يتخد وضع اليوزرمود في اي منقح وليكن Olly وليكن هدا البرنامج Calc.exe الة الحاسبة الويندوز
بعد تحميله اضغط ALT+E لعرض جميع المكتبات التي يستخدمها البرنامج
سنلاحظ انه يستخدم الكثير من المكتبات الموجودة بالمسار C://Windows/System32
انظر للعناوين
ستلاحظ انهم كلهم يتحملون بعناوين اصغر من 0x80000000
كلهم بما فيهم kernel32.dll,user32.dll,shell32.dll,ntdll.dll
هدا لان الداكرة مقسمة بين اليوزر لاند و الكيرنل لاند
اليوزر لاند يشغل من العنوان x00000000 الى 0x7FFFFFFF والكيرنل لاند تشغل من 0x80000000 الى 0xFFFFFFFF
فمثلا ادا لدبنا حاسوب به داكرة 4GB فان 2 سيدهب لليوزر لاند والاخر سيدهب الكيرنل لاند
______
____________________________________________________
Kernel debugging with WindDbg
______
WinDbg هو اصدار اخر من ال command line debugger (cdb.exe) مدعم بواجهة رسومية GUI متعدد المهام مقدم من مايكروسوفت يعتبر Kernel mode deubgger ,user mode debugger له قدرات عالية بامكانك عبره اصلاح اعطال النظام و
تعمل Attach لبرامج الكيرنل و debug لكيرنل النظام سواء Loacal
او لنظام تشغله بواسطة VMware او لجهاز متصل عبر شبكة او USB
ايضا بامكانك عبره ان تعمل debug للملفات التنفيدية
بامكانك تحميله من هنا
لمادا Kernel Debugging ؟
_ من اجل فهم بنية النظام وكيف يعمل
_لفهم كيف ولمادا تحصل على مثل هده الشاشة
_لتحليل الدرايفرز
_لتحليل الروت كيت
بالنسبة لانشاء اتصال
_افتح الVMware فم اضغط Edit virtual machine setting > ADD > Serial port > pipe >
ثم اختر اي اسم للبورت بعد \\.pipe\ وليكن test
الان شغله ثم ابحث عن System Config
Boot > Advenced setting > Check debug box
ثم Apply
Ok
ثم سيطلب منك اعادة التشغيل لاتعد التشغيل قبل ان تدخل الى
WinDbg > File > Kernel Debug > COM
الان اكتب اسم البورت والدي هو \\.\pipe\test
وتحقق من صندوق pipe لاننا سنتصل عبره reconnect ادا خفق الاتصال
Type :COM
port :\\.\pipe\test
معدل الاشارة بالثانية 115200 Baud Rate
اما عن حقل Resets فهو المدة اللازمة التي يجب الانتظار حتى يعيد الاتصال
هنا 0 يعني لانهائي
ادا ظهر لك هدا فكل شيئ على ما يرام عدا الرموز التصحيح Symbols
رموز التصحيح تساعدك على فهم الكود اكثر فهي تشير لك للدوال
فمثلا بدون رموز تصحيحية
مع رموز تصحيحية
من اجل رموز التصحيح Symbols ادخل
File > Symbol File Path
ادخل في الحقل
srv*C:\symcache*http://msdl.microsoft.com/download/symbols
طبعا هنا بامكانك ان تحدده انت كما تريد المسار
ثم اعمل Break من debugاو CTRL+Break وادخل reload. او بامكانك ان تعيد الاتصال ليتحمل ال Symbols من سيرفر مايكروسوفت لاول مرة
ثم تتصل ب Virtual machine