دانلود کتاب Windows Kernel Programming, 2nd Edition
49,000 تومان
برنامه نویسی کرنل ویندوز، ویرایش دوم
| موضوع اصلی | کامپیوتر – سیستم عامل |
|---|---|
| نوع کالا | کتاب الکترونیکی |
| تعداد صفحه | 312 |
| حجم فایل | 6.05 مگابایت |
| نوبت چاپ | و |
| نویسنده | Pavel Yosifovich |
|---|---|
| زبان | انگلیسی |
| فرمت | |
| سال انتشار | 2021 |
جدول کد تخفیف
| تعداد کتاب | درصد تخفیف | قیمت کتاب |
| 1 | بدون تخفیف | 25,000 تومان |
| 2 | 20 درصد | 20,000 تومان |
| 3 الی 5 | 25 درصد | 18,750 تومان |
| 6 الی 10 | 30 درصد | 17,500 تومان |
| 11 الی 20 | 35 درصد | 16,250 تومان |
| 21 الی 30 | 40 درصد | 15,000 تومان |
| 31 الی 40 | 45 درصد | 13,750 تومان |
| 41 الی 50 | 50 درصد | 12,500 تومان |
| 51 الی 70 | 55 درصد | 11,250 تومان |
| 71 الی 100 | 60 درصد | 10,000 تومان |
| 101 الی 150 | 65 درصد | 8,750 تومان |
| 151 الی 200 | 70 درصد | 7,500 تومان |
| 201 الی 300 | 75 درصد | 6,250 تومان |
| 301 الی 500 | 80 درصد | 5,000 تومان |
| 501 الی 1000 | 85 درصد | 3,750 تومان |
| 1001 الی 10000 | 90 درصد | 2,500 تومان |
Who Should Read This Book
What You Should Know to Use This Book
Book Contents
Sample Code
Chapter 1: Windows Internals Overview
Processes
Virtual Memory
Page States
System Memory
Threads
Thread Stacks
System Services (a.k.a. System Calls)
General System Architecture
Handles and Objects
Object Names
Accessing Existing Objects
Chapter 2: Getting Started with Kernel Development
Installing the Tools
Creating a Driver Project
The DriverEntry and Unload Routines
Deploying the Driver
Simple Tracing
Summary
Chapter 3: Kernel Programming Basics
General Kernel Programming Guidelines
Unhandled Exceptions
Termination
Function Return Values
IRQL
C++ Usage
Testing and Debugging
Debug vs. Release Builds
The Kernel API
Functions and Error Codes
Strings
Dynamic Memory Allocation
Linked Lists
The Driver Object
Object Attributes
Device Objects
Opening Devices Directly
Summary
Chapter 4: Driver from Start to Finish
Introduction
Driver Initialization
Passing Information to the Driver
Client / Driver Communication Protocol
Creating the Device Object
Client Code
The Create and Close Dispatch Routines
The Write Dispatch Routine
Installing and Testing
Summary
Chapter 5: Debugging and Tracing
Debugging Tools for Windows
Introduction to WinDbg
Tutorial: User mode debugging basics
Kernel Debugging
Local Kernel Debugging
Local kernel Debugging Tutorial
Full Kernel Debugging
Using a Virtual Serial Port
Using the Network
Kernel Driver Debugging Tutorial
Asserts and Tracing
Asserts
Extended DbgPrint
Other Debugging Functions
Trace Logging
Viewing ETW Traces
Summary
Chapter 6: Kernel Mechanisms
Interrupt Request Level (IRQL)
Raising and Lowering IRQL
Thread Priorities vs. IRQLs
Deferred Procedure Calls
Using DPC with a Timer
Asynchronous Procedure Calls
Critical Regions and Guarded Regions
Structured Exception Handling
Using __try/__except
Using __try/__finally
Using C++ RAII Instead of __try / __finally
System Crash
Crash Dump Information
Analyzing a Dump File
System Hang
Thread Synchronization
Interlocked Operations
Dispatcher Objects
Mutex
Fast Mutex
Semaphore
Event
Named Events
Executive Resource
High IRQL Synchronization
The Spin Lock
Queued Spin Locks
Work Items
Summary
Chapter 7: The I/O Request Packet
Introduction to IRPs
Device Nodes
IRP Flow
IRP and I/O Stack Location
Viewing IRP Information
Dispatch Routines
Completing a Request
Accessing User Buffers
Buffered I/O
Direct I/O
User Buffers for IRP_MJ_DEVICE_CONTROL
Putting it All Together: The Zero Driver
Using a Precompiled Header
The DriverEntry Routine
The Create and Close Dispatch Routines
The Read Dispatch Routine
The Write Dispatch Routine
Test Application
Read/Write Statistics
Summary
Chapter 8: Advanced Programming Techniques (Part 1)
Driver Created Threads
Memory Management
Pool Allocations
Secure Pools
Overloading the new and delete Operators
Lookaside Lists
The “Classic” Lookaside API
The Newer Lookaside API
Calling Other Drivers
Putting it All Together: The Melody Driver
Client Code
Invoking System Services
Example: Enumerating Processes
Summary
Chapter 9: Process and Thread Notifications
Process Notifications
Implementing Process Notifications
The DriverEntry Routine
Handling Process Exit Notifications
Handling Process Create Notifications
Providing Data to User Mode
The User Mode Client
Thread Notifications
Image Load Notifications
Final Client Code
Remote Thread Detection
The Detector Client
Summary
ترجمه فارسی (ترجمه ماشینی)
مقدمه
چه کسانی باید این کتاب را بخوانند
آنچه برای استفاده از این کتاب باید بدانید
محتوای کتاب
نمونه کد
فصل 1: بررسی اجمالی داخلی ویندوز
فرایندها
حافظه مجازی
حالت صفحه
حافظه سیستم
رشته ها
پشته های رشته</span
خدمات سیستم (با نام مستعار تماس های سیستم)
معماری عمومی سیستم
دسته ها و اشیاء
نام اشیاء
دسترسی به اشیاء موجود
فصل 2: شروع به توسعه هسته
نصب ابزارها
ایجاد یک پروژه درایور
روالهای درایورEntry و Unload
استقرار درایور
ردیابی ساده
خلاصه
فصل 3: مبانی برنامه نویسی هسته
دستورالعمل های عمومی برنامه نویسی هسته span>
استثناهای کنترل نشده
خاتمه
مقادیر بازگشتی تابع
IRQL
استفاده از C++
تست و اشکالزدایی
اشکالزدایی در مقابل نسخههای انتشار
API Kernel
توابع و کدهای خطا
رشتهها
تخصیص حافظه پویا
لیستهای مرتبط
شیء درایور
ویژگیهای شی
اشیاء دستگاه
باز کردن مستقیم دستگاهها
خلاصه
فصل 4: درایور از شروع تا پایان
مقدمه
راهاندازی درایور
ارسال اطلاعات به درایور
پروتکل ارتباطی مشتری / راننده
ایجاد شی دستگاه
کد مشتری
ایجاد و بستن روال ارسال
نوشتن روال ارسال
نصب و آزمایش
خلاصه
فصل 5: اشکال زدایی و ردیابی
ابزارهای اشکال زدایی برای ویندوز
مقدمه به WinDbg
آموزش: اصول اشکال زدایی حالت کاربر
اشکالزدایی هسته
اشکالزدایی هسته محلی
آموزش اشکال زدایی هسته محلی
اشکالزدایی کامل هسته
استفاده از پورت سریال مجازی
استفاده از شبکه span>
آموزش اشکال زدایی درایور کرنل
دعاها و ردیابی
ادعاها
DbgPrint توسعه یافته
سایر توابع اشکال زدایی
گزارش ردیابی
مشاهده ردیابی ETW
خلاصه</span
فصل 6: مکانیسم های هسته
سطح درخواست وقفه (IRQL)
افزایش و کاهش IRQL
span>اولویتهای رشته در مقابل IRQL
تماسهای رویه معوق
استفاده از DPC با تایمر
Asynchronou تماسهای رویهای
مناطق بحرانی و مناطق محافظتشده
بررسی ساختار یافته استثناها
استفاده از __try/__except
استفاده از __try/__finally
استفاده از C++ RAII به جای __try / __finally
System Crash
Crash اطلاعات Dump
تجزیه و تحلیل یک فایل Dump
System Hang
Thread Synchronization
عملیات در هم قفل شده
اشیاء توزیع کننده
Mutex
Mutex سریع
Semaphore
رویداد
رویدادهای نامگذاری شده
منبع اجرایی
همگام سازی IRQL بالا
The Spin Lock
قفل چرخشی در صف
موارد کاری
خلاصه
فصل 7: بسته درخواست I/O
مقدمه ای بر IRP
گره های دستگاه
IRP Flow
IRP و I/O Stack Location
مشاهده اطلاعات IRP
روالهای ارسال
تکمیل یک درخواست
دسترسی به کاربر بافرها
ورودی/خروجی بافر
ورودی/خروجی مستقیم
بافرهای کاربر برای IRP_MJ_DEVICE_CONTROL
جمع کردن همه چیز: درایور صفر
استفاده از سربرگ از پیش کامپایل شده
روتین DriverEntry
ایجاد و بستن روال های ارسال
روال ارسال خواندن
روتین ارسال نوشتن
برنامه آزمایشی
آمار خواندن/نوشتن
خلاصه
فصل 8: تکنیک های برنامه نویسی پیشرفته (قسمت 1)
درایور موضوعات ایجاد شده
مدیریت حافظه
تخصیص استخر
استخرهای امن
بارگیری بیش از حد اپراتورها را جدید و حذف کنید
فهرست های Lookaside
API “Classic” Lookaside
The Newer L ookaside API
تماس با سایر درایورها
در کنار هم قرار دادن همه چیز: درایور ملودی
کد مشتری
فراخوانی خدمات سیستم
مثال: شمارش فرآیندها
خلاصه
فصل 9: اعلانهای فرآیند و موضوع
اعلانهای فرآیند
اجرای اعلانهای فرآیند
روال ورود DriverEntry
فرایند مدیریت خروج از اعلانها
فرایند مدیریت ایجاد اعلانها
ارائه دادهها در حالت کاربر
کارفرمای حالت کاربر
اعلانهای موضوع
اعلانهای بارگیری تصویر
کد نهایی مشتری
تشخیص رشته از راه دور
کارفرمای آشکارساز
خلاصه

نقد و بررسیها
هنوز بررسیای ثبت نشده است.