Adam Furmanek
Hacking C# from the inside - how to do anything in NET
#1about 6 minutes
Bypassing dynamic dispatch for static method invocation
Learn how to statically control which virtual method implementation to run by generating intermediate language (IL) with the `call` instruction instead of `callvirt`.
#2about 4 minutes
How to await async void methods in C#
Implement a custom `SynchronizationContext` and `TaskScheduler` to enable awaiting `async void` methods and properly handle their exceptions.
#3about 14 minutes
Executing raw machine code from a byte array
Explore how to execute raw x86 machine code stored in a byte array by changing memory page protections and using `Marshall.GetDelegateForFunctionPointer`.
#4about 4 minutes
Hijacking .NET methods at runtime
Discover two techniques for method hijacking: modifying the method descriptor's function pointer or overwriting the method's machine code with a jump instruction.
#5about 6 minutes
A practical use case for method hijacking
Apply method hijacking to the `Process.Start` API by intercepting a constructor to run an application on a different virtual desktop, a feature not exposed by default.
#6about 2 minutes
Intercepting and handling unhandled thread exceptions
Prevent application crashes from unhandled exceptions on new threads by hijacking the `Thread` constructor to wrap the original delegate in a try-catch block.
#7about 4 minutes
How to safely handle a StackOverflowException
Use a vectored exception handler from the WinAPI combined with a setjmp/longjmp approach to catch a `StackOverflowException` and allow the application to continue safely.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
06:51 MIN
A live demo of a typosquatting attack in .NET
How your .NET software supply chain is open to attack : and how to fix it
00:07 MIN
Introduction to developer-first security and CTFs
Capture the Flag 101
17:41 MIN
Presenting live web scraping demos at a developer conference
Tech with Tim at WeAreDevelopers World Congress 2024
00:25 MIN
A developer's journey through programming languages
Coffee with Developers - Martyn Kilbryde
22:21 MIN
Q&A: SynchronizationContext, tooling, and challenges
Asynchronicity and multithreading in C#
00:04 MIN
Overview of modern C# community-loved features
Modern C#: A Dive into the Community's Most Loved new Features.
00:03 MIN
Why developers are a prime target for attackers
You click, you lose: a practical look at VSCode's security
00:16 MIN
Using AI to write an exploit as a non-developer
Let’s write an exploit using AI
Featured Partners
Related Videos
Programming secure C#/.NET Applications: Dos & Don'ts
Sebastian Leuer
Tips, tricks and quirks in .NET
Paweł Łukaszuk
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
Ambesh Singh & Sachin Kumar
Exploring the Latest Features of .NET and C# by Building a Game
Rainer Stropek
Building a Compiler with C#
Florian Rappl
C# Lowering - What is it and why should I care?
Steven Giesel
Getting under the skin: The Social Engineering techniques
Mauro Verderosa
Typed Security: Preventing Vulnerabilities By Design
Michael Koppmann
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.
