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.

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Bausteine guter Architektur - Entwurf und Entwicklung wartbarer Softwaresysteme, Teil 2
Code sauberer gestalten anhand von wenigen Patterns und Grundhaltungen.
6 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige