Adam Furmanek
Hacking C# from the inside - how to do anything in NET
#1about 6 minutes
Avoiding dynamic dispatch with static method invocation
Bypass polymorphism by generating intermediate language (IL) with the `call` instruction instead of `callvirt` to invoke a specific base class method.
#2about 4 minutes
How to await async void methods in C#
Implement a custom `TaskScheduler` and `SynchronizationContext` to enable awaiting `async void` methods and properly handle their exceptions.
#3about 14 minutes
Running raw machine code from a C# byte array
Explore two methods for executing machine code: using the `Marshall` API for managed delegates or by manually overwriting a method's body with a CPU jump instruction.
#4about 4 minutes
Hijacking methods by modifying metadata or machine code
Explore two techniques for method hijacking: either by overwriting the function pointer in the method descriptor or by injecting a jump instruction into the method's machine code.
#5about 6 minutes
Use case: Running an application on a different desktop
Apply method hijacking to the `CreateProcess` API by intercepting a constructor to specify a target desktop, a feature not exposed by the standard .NET API.
#6about 2 minutes
Use case: Handling unhandled exceptions on a thread
Prevent application crashes by hijacking the `Thread` constructor to automatically wrap the thread's starting logic in a try-catch block.
#7about 4 minutes
Handling the uncatchable StackOverflowException
Catch a `StackOverflowException` by using a WinAPI vectored exception handler to save and restore CPU registers, allowing the application to continue safely.
Related jobs
Jobs that call for the skills explored in this talk.
Dennemeyer Group
Hesperange, Luxembourg
Intermediate
Senior
.NET
Structured Query Language (SQL)
Matching moments
01:06 MIN
Malware campaigns, cloud latency, and government IT theft
Fake or News: Self-Driving Cars on Subscription, Crypto Attacks Rising and Working While You Sleep - Théodore Lefèvre
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
05:55 MIN
The security risks of AI-generated code and slopsquatting
Slopquatting, API Keys, Fun with Fonts, Recruiters vs AI and more - The Best of LIVE 2025 - Part 2
14:14 MIN
Scripting presentations and demos in VS Code
Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3
03:45 MIN
Preventing exposed API keys in AI-assisted development
Slopquatting, API Keys, Fun with Fonts, Recruiters vs AI and more - The Best of LIVE 2025 - Part 2
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
03:31 MIN
The value of progressive enhancement and semantic HTML
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
01:15 MIN
Crypto crime, EU regulation, and working while you sleep
Fake or News: Self-Driving Cars on Subscription, Crypto Attacks Rising and Working While You Sleep - Théodore Lefèvre
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
Typed Security: Preventing Vulnerabilities By Design
Michael Koppmann
Catching up on the basics you don't really need that much code
Chris Heilmann
Related Articles
View all articles



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

Code Healers LLC
Hinesville, United States of America
Remote
€30-40K
Intermediate
Senior
.NET
React
JavaScript
+2

Client Server
Sunderland, United Kingdom
Remote
£40-50K
Redis
React
Docker
+5



Access Softek
Remote
Intermediate
API
GIT
Unit Testing
Microservices
+1



Experis
Intermediate
API
.NET
Azure
Bamboo
Microsoft SQL Server
