تفکرات صفر و یکی

نوشته های من در مورد سیستم عامل، درایور نویسی، مهندسی معکوس، امنیت و هر چیز سطح پایین دیگر

تفکرات صفر و یکی

نوشته های من در مورد سیستم عامل، درایور نویسی، مهندسی معکوس، امنیت و هر چیز سطح پایین دیگر

آخرین نظرات

۳ مطلب در مهر ۱۳۹۵ ثبت شده است

در ادامه سری آموزش هایی که در مورد درایور نویسی در ویندوز نوشته ام، این بار آموزشی در مورد نوشتن یک Filesystem Filter Driver آماده کرده ام. از عنوان آموزش مشخص است که این درایور از نوع Filter Driver است که قبلا توضیح مختصری در مورد این نوع درایورها در آموزش مربوط به Device Stack داده ام، این درایور قرار است Filesystem هایی که روی سیستم رجیستر شده یا بعدا رجیستر می شوند را مانیتور کند. در انتهای این آموزش بخشی اختصاص داده ام در مورد کار با WinDbg. تمام فرمان هایی که در این بخش آمده را قبلا در آموزش مربوط به Device Stack در موردشان توضیح داده ام. دلیل آوردن چنین بخشی این بود که قسمت هایی از این آموزش هست که به موضوعات دیگری و مفصلی مرتبط هستند. برای اینکه وارد این توضیحات مفصل نشوم ترجیح دادم با نشان دادن آن مساله در WinDbg مساله را برایتان روشن کنم. 

قبل ادامه مروری هم روی آموزش های زیر داشته باشید.

  • آرش

موضوع اصلی آموزش امروز ما در مورد IRQL است که می توان گفت یکی مهمترین مباحث موجود در دنیای درایور نویسی در ویندوز به حساب می آید. این مبحث کمی با مساله وقفه ها گره خورده است. در واقع این گره و ابهام به خاطر این است که ماکروسافت مستندات روشنی در این زمینه ارائه نکرده و از طرفی تشابه اسمی بین IRQL و IRQ ممکن است سوالاتی از قبیل: آیا این دو یکی هستند؟ آیا مربوط به سخت افزار می شوند؟ آیا مربوط به ویندوز می شوند؟ را به وجود می آورد. حداقل این ها سوالاتی بود که تا مدتی من درگیرشان بودم تا متوجه شدم موضوع از چه قرار است. و از أنجایی که در پست های آینده با اصطلاحاتی مانند PASSIVE/APC/DPC LEVEL روبرو خواهید شد لازم است در این مورد پیش زمینه ای داشته باشید.

 

  • آرش

در آموزش های قبلی به صورت خیلی خلاصه در مورد روش هایی که یک درایور می تواند با برنامه سطح کاربر ارتباط برقرار کند صحبت کردیم و برای یکی از این روش ها که  IOCTL بود مثالی آوردیم. در این آموزش سعی می کنم این روش ها را با جزئیات بیشتری به همراه مثال شرح بدهم. در طول آموزش موضوعات دیگری هم مطرح می شود و برای این که ساختار آموزش بهم نریزد توضیحات مربوطه را بصورت جداگانه در انتهای این آموزش آورده ام. 

  • آرش