06-01-WFP Architecture

06-01-WFP Architecture

An overview of the Windows Filtering Platform, explaining how it integrates with the network stack. This lesson introduces different filtering layers, such as transport, network, and application layers, and their role in packet processing.

Advanced Windows Kernel Programming

Buy nowLearn more

Introduction

  • 00-Introduction5
  • AdvancedKernelProgrammingLabs.pdf
  • Advanced Windows Kernel Programming.pdf
  • Labs.zip
  • Demos.zip

1: Kernel and System Design

  • 01-01-System Atchitecture
  • 01-02-System Calls
  • 01-03-System Call Implementation
  • 01-04-Nt vs Zw
  • 01-05-Memory Related APIs
  • 01-06-Exported Functions1
  • 01-07-Handles and Objects
  • 01-08-Lab Part 1
  • 01-09-Lab Part 2
  • 01-10-Solution Walkthrough
  • 01-11-Q&A

2: Programming Techniques

  • 02-01-Programming Techniques Intro-1
  • 02-02-Strings
  • 02-03-Dynamic Memory
  • 02-04-Move Semantics
  • 02-05-Lookaside Lists
  • 02-06-Linked Lists
  • 02-07-Object Attributes
  • 02-08-Permanent Objects
  • 02-09-Tables
  • 02-10-Callback Objects
  • 02-11-Process Attaching
  • 02-12-Labs Description
  • 02-13-Solutions Walkthrough Part 1
  • 02-14-Solutions Walkthrough Part 2-1

3: Tracing and Debugging

  • 03-01-DbgPrint(Ex)
  • 03-02-Trace Logging
  • 03-03-Trace Logging (cont.)
  • 03-04-Debugging2

4: Synchronization

  • 04-01-Synchronization Basics
  • 04-02-Mutexes
  • 04-03-APCs (Asynchronous Procedure Calls)
  • 04-04-Fast Mutex
  • 04-05-Semaphores
  • 04-06-Events
  • 04-07-IRQL (Interrupt Request Level) Recap
  • 04-08-High IRQL Synchronization
  • 04-09-Spin Locks
  • 04-10-Lab Intro
  • 04-11-Labs Walkthrough
  • 04-12-APC Lab Walkthorugh

5: File System Mini-Filters

  • 05-01-Minifilter Architecture
  • 05-02-Loading and Unloading
  • 05-03-Minifilter Registration and Initialization
  • 05-04-Processing Operations
  • 05-05-Operations and Parameters
  • 05-06-File and Directory Information
  • 05-07-File Names
  • 05-08-Contexts
  • 05-09-Accessing Data
  • 05-10-User Kernel Communication
  • 05-11-Labs
  • 05-12-Labs Walkthrough

6: Windows Filtering Platform

  • 06-01-WFP Architecture
  • 06-02-WFP Objects and Properties
  • 06-03-WFP API
  • 06-04-Callouts
  • 06-05-Actions
  • 06-06-Lab WFP API
  • 06-07-Lab Callouts
  • 06-08-More WFP
  • 06-09-More on Filter Arbitration

7: Miscellaneous Topics

  • 07-01-Securing Device Objects
  • 07-02-Plug & Play
  • 07-03-Plug & Play Drivers
  • 07-04-IRP Flow
  • 07-05-Filter Drivers
  • 07-06-Completion Routines
  • 07-07-Lab Walkthrough - Beep Filter

8: Introduction to KMDF

  • 08-01-What is KMDF
  • 08-02-KMDF Object Model
  • 08-03-DriverEntry
  • 08-04-Creating a Device
  • 08-05-Handling Requests
  • 08-06-Booster Sample - DriverEntry
  • 08-07-Booster Sample - Adding Device
  • 08-08-Booster Sample - Device Control
  • 08-09-Booster Sample - Booster Client2
  • 08-10-KMDF Debugging
  • 08-11-Driver Installation