روش های دسترسی به بافر داده در درایورهای ویندوزی

ساخت وبلاگ
این آموزش در ادامه سری آموزش های راهنمای, معماری, های x86 و x86_64 برای, برنامه, نویسان, سیستمی, قسمت, صفر و اول می باشد. موضوع این آموزش در مورد مدیریت حافظه و روش هایی که برای مدیریت حافظه در این خصوص در پ روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : نویسنده : 1binthought2 بازدید : 36 تاريخ : پنجشنبه 22 آذر 1397 ساعت: 19:58

این آموزش در ادامه سری آموزش های "راهنمای معماری های x86 و x86_64 برای برنامه نویسان سیستمی" می باشد. در این قسمت در مورد مباحثی صحبت می کنیم که پیش نیاز برای آموزش های بعدی می باشد. این مباحث عبارت اند از رجیسترهای سیستمی، مدهای عملکرد، و سطوح دسترسی.  یکسری موضوعات که قبل از ادامه مطلب باید به آنها اشاره کنم: وقتی به اصطلاحات x86 و x86_64 اشاره می کنم، در واقع به ترتیب صحبت از خانواده پردازنده های معماری ۳۲ بیتی و ۶۴ بیتی می کنیم. از آنجایی که در برخی از سایتها از اصطلاح x86 برای اشاره به پردازنده های ۶۴ بیتی نیز استفاده شده، من برای اینکه ابهام ایجاد نشود از این به بعد از "معماری ۳۲ بیتی" و "معماری ۶۴ بیتی" به جای x86 و x86_64 استفاده میکنم. از آنجایی که تفاوت های جزئی در ساختارها و نام گذاری برخی رجیسترها (خصوصا بخش های سیستمی) در پردازنده های Intel و AMD وجود دارد. من در این آموزش ها فقط روی پردازندهای شرکت Intel و مستندات ارائه شده  توسط این شرکت تمرکز میکنم. مدهای عملکرد (Modes of Operation) مدهای عملکرد در پرازنده های اینتل: معماری ۳۲ بیتی مد آدرس واقعی (Real-address Mode روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : نویسنده : 1binthought2 بازدید : 103 تاريخ : جمعه 21 آبان 1395 ساعت: 5:21

مدتی بود می خواستم یکسری مطلب آموزشی در مورد معماری پردازنده x86 و x86_64 اینجا قرار بدهم. با این هدف که این مطالب مورد استفاده برای برنامه نویس های سیستمی، برنامه نویس های ماژول های امنیتی، افرادی که بهینه سازی کد انجام می دهند، تحلیل گران نقاط ضعف سیستم عامل ها و بدافزارها، و البته افراد علاقه مند به این موضوعات قرار بگیرد. این آموزش ها را احتمالا در چند سری ارائه خواهم کرد. در این قسمت هدف فقط دادن یک پیش زمینه است و وارد هیچ جزئیاتی نمی شویم. ولی در آموزش هایی که در آینده قرار می دهم به بررسی مباحث اولیه مثل رجیستر های سیستمی، مدهال عملکرد، سطوح دسترسی روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : آموزش های معماری,راهنمای نقشه های معماری, نویسنده : 1binthought2 بازدید : 92 تاريخ : چهارشنبه 12 آبان 1395 ساعت: 3:30

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

برچسب : نویسنده : 1binthought2 بازدید : 78 تاريخ : دوشنبه 26 مهر 1395 ساعت: 12:10

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

برچسب : نویسنده : 1binthought2 بازدید : 79 تاريخ : چهارشنبه 14 مهر 1395 ساعت: 12:22

سلام

خیلی وقت بود می خواستم وبلاگی ایجاد کنم تا مطالبی که به صورت پراکنده یاد می گیرم یا تجربه هایی که از پروژه های انجام داده بدست می آورم را یک جا جمع کنم. اینجوری هم برای خودم ردی از کارها به جا می ماند و مهمتر از همه می تواند مورد استفاده دیگران قرار بگیرد.

مطالبی که اینجا قرار می دهم ترکیبی از مباحث سطح پایین مثل درایور نویسی، مفاهیم داخلی سیستم عامل و کمی امنیت است.

فعلا

روش های دسترسی به بافر داده در درایورهای ویندوزی...
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : اولین پست,اولین پست کانال تلگرام,اولین پست اینستاگرام,اولین پست اینستاگرام تتلو,اولین پستاندار,اولین پستانداران,اولین پست در اینستاگرام,اولین پستخانه ایران,اولین پستانداران روی زمین,اولین پستخانه, نویسنده : 1binthought2 بازدید : 36 تاريخ : پنجشنبه 8 مهر 1395 ساعت: 8:14

در این پست می خواهم در مورد چگونگی کار با دیباگر windbg توضیحاتی بدهم. این آموزش با آموزش هایی که در آینده در مورد درایور نویس قرار می دهم مرتبط خواهد بود. مقدمه windbg دیباگری است که توسط ماکروسافت ایجاد شده و در قالب بسته ای به نام Debugging Tools for Windows از سایت ماکروسافت قابل دریافت است. این بسته را می شود جداگانه دریافت کرد و مورد استفاده قرار داد ولی در حال حاظر و در چند ورژن اخیر این بسته همراه بسته هایی نظیر SDK و WDK عرضه می شود. در نتیجه اگر بسته WDK را از پست های قبلی که گفته ام دریافت کرده اید و در هنگام نصب گزینه مربوط به دیباگر را انتخاب کرده باشید باید این اب روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : نویسنده : 1binthought2 بازدید : 246 تاريخ : پنجشنبه 8 مهر 1395 ساعت: 8:14

امروز می خواهم در مورد Device Stack مطلبی بنویسم. من خودم زمانی که با این مفهوم آشنا شدم برایم کمی گنگ بود. تا اینکه بعد ها روی این موضوع بیشتر کار کردم و جزئیات بیشتری از چگونه نگهداری این ساختار در ویندوز و اینکه یک IRP چه مسیری را طی میکند تا به مقصد بررسد را متوجه شدم. در این پست سعی کردن این مسائل را شرح دهم. از آنجایی که در نوشتن مطالب طولانی تنبل هستم تصمیم گرفتم پست های کوتاه تری بگذارم. این آموزش به دو بخش تقسیم شده یک بخش نگاه سطح بالا که بدون وارد شدن به جزئیات به موضوع پرداخته ام و بخش دوم نگاه سطح پایین که نشان داده ام چگونه با استفاده از Windbg ساختار م روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : نویسنده : 1binthought2 بازدید : 87 تاريخ : پنجشنبه 8 مهر 1395 ساعت: 8:14

مدت زیادی شده که اینجا پستی قرار نداده ام. یکسری دوستان با کامنت ها و ایمیل هاشون ما را حسابی شرمنده میکنند که لازم از همه این عزیزان تشکر کنم بابت محبتشون. به هر حال گفتیم بعد این همه مدت یه پست کوتاهی قرار بدیم و یکسری کتاب معرفی کنیم با این امید که بدرد افرادی که به این موضوعات علاقه دارند بخوره و از این کتاب ها در نبود ما استفاده کنند. کتاب ها رو به ترتیب تاریخ انتشارشون از جدید به قدیم معرفی میکنم. یه توضیح مختصری هم برای بعضی کتاب ها داده ام  کتابهای مربوط به درایور نویسی عنوان: Developing Drivers with the Windows Driver Foundation تعداد صفحه: 928 انتشارات: MS Press سال چاپ: 20 روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : معرفی کتاب وقتی نیچه گریست,معرفی کتاب و رمان,معرفی کتاب وداع با اسلحه,معرفی کتاب ورزشی,معرفی کتاب وسائل الشیعه,معرفی کتاب ویکنت دو نیم شده,معرفی کتاب وضعیت آخر,معرفی کتاب وبلاگ,معرفی کتابهای ورزشی,معرفی کتاب کودک و نوجوان, نویسنده : 1binthought2 بازدید : 50 تاريخ : پنجشنبه 8 مهر 1395 ساعت: 8:13

در آموزش های قبلی به صورت خیلی خلاصه در مورد روش هایی که یک درایور می تواند با برنامه سطح کاربر ارتباط برقرار کند صحبت کردیم و برای یکی از این روش ها که  IOCTL بود مثالی آوردیم. در این آموزش سعی می کنم این روش ها را با جزئیات بیشتری به همراه مثال شرح بدهم. در طول آموزش موضوعات دیگری هم مطرح می شود و برای این که ساختار آموزش بهم نریزد توضیحات مربوطه را بصورت جداگانه در انتهای این آموزش آورده ام.  سرفصل مطالب این بخش راه های دسترسی به بافر داده روش Buffered I/O روش Direct I/O روش نه Buffered I/O و نه Direct I/O مقدار دادن DEVICE_OBJECT.Flags موضوعات جداگانه درخواست ها حافظه از نوع Nonepag روش های دسترسی به بافر داده در درایورهای ویندوزی...ادامه مطلب
ما را در سایت روش های دسترسی به بافر داده در درایورهای ویندوزی دنبال می کنید

برچسب : روش های دسترسی به تلگرام دیگران,روش های دسترسی به اینترنت,روش های دسترسی به خط انتقال,روش های دسترسی چندگانه,روش های دسترسی به اینترنت در ایران,روش های دسترسی به رسانه,روش های دسترسی به اطلاعات,روش های دسترسی به وب پنهان,روش های دسترسی به رسانه در شبکه,روش های دسترسی به شبکه, نویسنده : 1binthought2 بازدید : 30 تاريخ : پنجشنبه 8 مهر 1395 ساعت: 8:13