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

Kalenderdaten mit Microsoft Graph - Connected Apps mit .NET, Teil 1
Eine .NET-App meldet Benutzer an, lädt eine Kalenderwoche und bereitet Outlook-Termine für die Anzeige auf.
6 Minuten
Warum Deine KI-Rechnung mit der Architektur wächst - Interview
KI soll Kosten senken. In der Praxis erleben viele Unternehmen beim Skalieren eine böse Überraschung, erklärte Dimitri Blatner von ITech Progress auf der Open Stage der DWX 2026. Developer World wollte von ihm wissen, wo Sprachmodelle Geld verbrennen und wie Du mit bewusster Architektur gegensteuerst.
30. Sep 2026
Tests gezielt verteilen - Schnellere .NET-CI-Pipelines mit Test Sharding, Teil 1
Lange Testsuiten verzögern das Feedback im Pull Request. Meziantou.ShardedTest verteilt die Testfälle auf mehrere CI-Jobs und verspricht dadurch mehr Geschwindigkeit. Dieser Einstieg zeigt, wie die Aufteilung funktioniert und welche Voraussetzungen nötig sind.
6 Minuten

Das könnte Dich auch interessieren

Frühjahrsputz für .NET - Alte .NET-Versionen entfernen
Immer mehr .NET-Versionen sammeln sich auf der Festplatte an. Höchste Zeit, wieder Platz zu schaffen.
14 Minuten
SignalRC – in Echtzeit ans Steuer - Der DDC-Truck: Auf in die Welt mit SignalR, Raspberry Pi und sechs Rädern
Ein vernetztes Fahrzeug, gesteuert per Weboberfläche und LTE. SignalR sorgt dabei für millisekundenschnelle Kommunikation – direkt, stabil und skalierbar.
16 Minuten
21. Jan 2026
MessagePack: JSON als Binär-Image - Best of NuGet, Teil 10
Das Serialisierungsformat MessagePack wurde – anders als JSON – konsequent auf die Bedürfnisse von Maschinen und damit auch auf höchstmögliche Kompaktheit optimiert. Der Vorteil: Ein geringeres zu übertragendes Datenvolumen führt vor allem in IoT-nahen Anwendungen direkt zu geringeren Kosten.
6 Minuten
17. Aug 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige