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
04:19 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
04:09 MIN
Introduction to developer-first security and CTFs
Capture the Flag 101
01:57 MIN
Presenting live web scraping demos at a developer conference
Tech with Tim at WeAreDevelopers World Congress 2024
04:13 MIN
Q&A: SynchronizationContext, tooling, and challenges
Asynchronicity and multithreading in C#
04:54 MIN
Why developers are a prime target for attackers
You click, you lose: a practical look at VSCode's security
02:01 MIN
Using AI to write an exploit as a non-developer
Let’s write an exploit using AI
02:35 MIN
Overview of modern C# community-loved features
Modern C#: A Dive into the Community's Most Loved new Features.
01:25 MIN
How .NET applications execute on WebAssembly
Using WebAssembly to run, extend, and secure your application
Featured Partners
Related Videos
Tips, tricks and quirks in .NET
Paweł Łukaszuk
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
Ambesh Singh & Sachin Kumar
Programming secure C#/.NET Applications: Dos & Don'ts
Sebastian Leuer
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
Turbocharged: Writing High-Performance C# and .NET Code
Steve Gordon
Getting under the skin: The Social Engineering techniques
Mauro Verderosa
Related Articles
View all articles



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


generic.de software technologies AG
Karlsruhe, Germany
Intermediate
Senior
.NET
Docker
Angular




INLOGY GmbH
Paderborn, Germany
Remote
Intermediate
DevOps
.NET Core
Terraform
PostgreSQL
+1


CodeKeepers GmbH
Hamburg, Germany
TypeScript
Continuous Integration

som3 Recruitment
Jacobstowe, United Kingdom
Remote
€45-55K
GIT
jQuery
Microsoft SQL Server