From £1,450+ VAT
Book online today or, if you need help choosing the right course or would like to discuss business discounts, call us on 888-895-3441.
Overview
The OffSec EXP-301 (OSED) Windows User Mode Exploit Development is a self-paced digital course designed to help learners master modern exploit development techniques within Windows environments. Completed over a 90-day access period, the course provides hands-on experience crafting custom exploits, analysing vulnerable applications, and bypassing security mechanisms used to defend modern software.
Learners explore how vulnerabilities arise in compiled applications and how security researchers identify and exploit them responsibly. Through guided labs and structured exercises, participants develop the ability to analyse program behaviour, reverse engineer binaries, and construct exploit payloads.
Key focus areas include reverse engineering techniques, stack-based vulnerabilities, shellcode development, and bypassing protections such as Data Execution Prevention and Address Space Layout Randomization. By completing the course and challenge labs, learners strengthen their ability to identify and analyse software vulnerabilities and prepare for advanced exploit development assessments.
Prerequisites
Participants should have:
- Strong experience with penetration testing methodologies and vulnerability analysis
- Practical programming knowledge in the C programming language
- Familiarity with assembly language concepts
- Working knowledge of Windows operating system internals
- Experience using debugging tools such as WinDbg or Immunity Debugger
- Understanding of general exploit development concepts is recommended
Target audience
This course is designed for:
- Security professionals seeking to deepen expertise in exploit development
- Penetration testers who want to understand advanced vulnerability exploitation techniques
- Ethical hackers aiming to strengthen their reverse engineering and debugging capabilities
- Security researchers analysing software vulnerabilities in compiled applications
- Developers or security engineers interested in understanding low-level software exploitation
Objectives
By the end of this course, learners will be able to:
- Explain the role of reverse engineering in vulnerability discovery and exploit development
- Describe the key stages involved in reverse engineering binary applications
- Analyse how programs process input and identify potential vulnerabilities in compiled code
- Apply reverse engineering techniques to understand program behaviour and execution flow
- Evaluate the differences between reverse engineering and fuzzing for vulnerability discovery
- Identify advantages and limitations of both reverse engineering and fuzzing techniques
- Trace program execution using static and dynamic analysis techniques
- Combine reverse engineering and fuzzing approaches to improve vulnerability discovery outcomes
Outline
WinDbg debugger fundamentals
This section introduces learners to the WinDbg debugger and demonstrates how it can be used to analyse application crashes and inspect program memory during vulnerability research.
- Navigating the WinDbg interface
- Analysing application crashes and exception handling
- Inspecting registers and memory structures
- Working with stack traces and debugging symbols
- Investigating memory dumps to identify vulnerabilities
Stack buffer overflows
Learners explore the fundamentals of stack-based memory corruption and how attackers exploit these vulnerabilities to gain control of program execution.
- Understanding stack memory architecture
- Identifying stack buffer overflow vulnerabilities
- Controlling instruction pointers during exploitation
- Constructing proof-of-concept exploits
- Developing reliable exploitation techniques
Exploiting structured exception handler overflows
This module examines Structured Exception Handler (SEH) exploitation techniques used to gain execution control during program crashes.
- Understanding Windows exception handling mechanisms
- Analysing SEH records and handlers
- Triggering controlled crashes in vulnerable applications
- Redirecting execution through SEH overwrites
- Developing reliable SEH exploitation strategies
Introduction to IDA Pro
Learners are introduced to IDA Pro and explore how it supports reverse engineering of compiled applications.
- Understanding disassembly and decompilation concepts
- Navigating the IDA Pro interface and analysis views
- Identifying functions, data structures, and program flow
- Integrating debugging techniques with static analysis
- Analysing vulnerable code paths in binary applications
Overcoming exploit space restrictions
This section introduces techniques used when exploit payload size is limited, focusing on locating and executing shellcode efficiently.
- Understanding payload size restrictions
- Locating shellcode within memory
- Using egghunter techniques to find payloads
- Executing staged payloads in constrained environments
- Improving exploit reliability in restricted memory conditions
Shellcode development from scratch
Learners develop the skills required to write custom shellcode capable of performing targeted actions on compromised systems.
- Understanding shellcode architecture and constraints
- Writing shellcode for Windows environments
- Avoiding bad characters in payloads
- Optimising shellcode size and reliability
- Testing shellcode execution within exploit payloads
Reverse engineering software vulnerabilities
Participants analyse compiled binaries to locate exploitable flaws and understand how vulnerabilities occur in real-world applications.
- Analysing binary code paths for vulnerabilities
- Investigating program input parsing routines
- Identifying memory corruption vulnerabilities
- Tracing execution paths through disassembled code
- Building proof-of-concept exploit strategies
Stack overflows and mitigation bypass techniques
This module explores how modern operating systems attempt to prevent exploitation and how attackers bypass these protections.
- Understanding Data Execution Prevention protections
- Analysing Address Space Layout Randomization
- Bypassing memory protection mechanisms
- Constructing exploit payloads that evade mitigations
- Evaluating reliability of mitigation bypass techniques
Format string vulnerability exploitation
Learners examine format string vulnerabilities and explore how these flaws allow attackers to read or manipulate memory.
- Understanding format string specifiers in C applications
- Identifying vulnerable code patterns
- Leveraging format string vulnerabilities for memory disclosure
- Creating arbitrary memory read primitives
- Developing exploit strategies using format string vulnerabilities
Return oriented programming and advanced exploitation
This section focuses on advanced techniques used to bypass modern security mechanisms through Return-Oriented Programming.
- Understanding the principles of Return-Oriented Programming
- Identifying usable instruction gadgets within binaries
- Constructing custom Return-Oriented Programming chains
- Building payload decoders for advanced exploit delivery
- Combining techniques to achieve reliable exploitation
Challenge labs and exploit development practice
After completing the core modules, learners apply their knowledge through challenge labs designed to simulate real-world vulnerability research scenarios.
- Analysing vulnerable applications independently
- Developing full exploit chains
- Applying reverse engineering techniques in realistic environments
- Validating exploit reliability and execution control
- Preparing for advanced exploit development assessments
Exams and assessments
The OffSec EXP-301 (OSED) exam is included within the course. Learners complete extensive hands-on labs throughout the course to reinforce the concepts presented.
Three challenge labs are included to test learners’ understanding of exploit development techniques and vulnerability analysis. These labs simulate realistic exploitation scenarios and help prepare participants for advanced exploit development certification assessments.
Hands-on learning
This course includes:
- Hands-on labs that guide learners through exploit development techniques
- Practical debugging and reverse engineering exercises using real tools
- Vulnerability analysis activities using compiled software binaries
- Challenge labs designed to test exploit development skills in realistic scenarios
What's included
- Exam included
QA is proud to be the UK official partner with Offensive Security.
![]()
Click here to view all our OffSec courses.
Click here to view the Learn Online subscriptions.
Why choose QA
- Award-winning training, top NPS scores
- Nearly 300,000 learners in 2020
- Our training experts are industry leaders
- Read more about QA
Special Notices
This course can be purchased via an OffSec LearnOne or Unlimited Subscription;
- https://www.qa.com/course-catalogue/products/offensive-security-learn-one-qaoffseclmsool/
- https://www.qa.com/course-catalogue/products/offensive-security-learn-unlimited-qaoffseclmsuol/
Cyber Security learning paths
Want to boost your career in cyber security? Click on the roles below to see QA's learning pathways, specially designed to give you the skills to succeed.
Offensive Cyber Operations learning paths
Want to boost your career in the world of Offensive Cyber Operations? View QA's learning pathway below, specially designed to give you the skills to succeed.
Offensive Security learning path
Want to boost your career in Offensive Security? View QA's learning pathway below, specially designed to give you the skills to succeed.
Frequently asked questions
How can I create an account on myQA.com?
There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.
If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".
If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.
Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.
How do QA’s virtual classroom courses work?
Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.
We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.
How do QA’s online courses work?
QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.
All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.
When will I receive my joining instructions?
Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.
When will I receive my certificate?
Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.