Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

Reverse Engineering nativ kompilierter .NET-Anwendungen

Der slowakische Entwickler Michal Strehovsky gewährt einen Blick in die Interna von Anwendungen, die mit nativem AOT erstellt wurden.
Mit .NET 7 wurde ein neues Bereitstellungsmodell eingeführt: die native AOT-Kompilierung. Wird eine .NET-Anwendung mit nativem AOT kompiliert, wird sie zu einer eigenständigen nativen ausführbaren Datei mit einer eigenen minimalen Laufzeitumgebung zur Verwaltung der Codeausführung kompiliert. Diese Laufzeitumgebung ist recht klein und in .NET 8 ist es möglich, eigenständige C#-Anwendungen mit weniger als einem MByte zu erstellen.Es ist allerdings auch das erste Mal, dass .NET-Programme nicht in dem in ECMA-335 definierten Dateiformat (das heißt Anweisungen und Metadaten für eine virtuelle Maschine) verteilt werden, sondern als nativer Code (PE/ELF/Mach-O-Dateiformat), mit nativen Datenstrukturen wie zum Beispiel C++. Das bedeutet, dass keines der Reverse-Engineering-Tools für .NET, die in den letzten 20 Jahren entwickelt wurden, mit nativem AOT funktioniert. Entwickler Michal Strehovsky hat sich mit derart kompilierten .NET-Anwendungen näher beschäftigt und teilt seine Erkenntnisse in diesem Blogbeitrag.
Miscellaneous

Neueste Beiträge

RAG mit SQL Server 2025: KI-Antworten mit Kontext - SQL Server 2025 und Microsoft Azure AI, Teil 1
RAG als Architekturpattern verbindet Sprachmodelle mit der realen Wissensbasis eines Unternehmens. Seine pragmatische Umsetzung im Microsoft-Stack: Azure OpenAI für Sprache, SQL Server 2025 und Azure AI Search für Semantik und .NET 10 für Integration und Orchestrierung.
6 Minuten
29. Jun 2026
Design mit KI - UX goes Dev, Teil 2
Wie die Integration künstlicher Intelligenz in Designwerkzeuge die Art und Weise verändert, in der digitale Benutzeroberflächen entstehen.
6 Minuten
2. Jul 2026
KI: SQL Server versus Anwendungscode - SQL Server 2025 und Microsoft Azure AI, Teil 2
Wer SQL Server und Anwendungscode bewusst trennt, erhält eine Architektur, die sowohl performant als auch wartbar ist und sich langfristig stabil betreiben lässt.
6 Minuten

Das könnte Dich auch interessieren

Übersehen seit .NET 8: TimeProvider für testbare Zeit
Seit .NET 8 gibt es TimeProvider als offizielle Zeit-Abstraktion. Doch noch zweieinhalb Jahre später ist sie in vielen Projekten unbekannt.
6 Minuten
1. Jul 2026
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige