Исследование .NET: от DnSpy к IDA Pro

Что мы обычно представляем под исследованием бинарных файлов .NET? Обычно все просто: открываешь сборку в DnSpy или ILSpy, получаешь очень близкий к исходнику C# (может и не очень близкий, а обфусцированный) и дальше уже думаешь не про восстановление логики, а про анализ исходного кода — даже не нужно нажимать F5... В стандартных .NET-сборках компилятор сохраняет символы приложения в виде метаданных, необходимых для работы рантайма и рефлексии. DnSpy даже поддерживает экспорт содержимого сборки в проект для Visual Studio, что размывает границу между исследованием исходников и бинарного файла. Но платформа от Microsoft развивается, и теперь .NET-приложения могут исполняться не только через CLR, но и компилироваться в машинный код целевой платформы с помощью Ahead-Of-Time. Исторически первым таким решением стал NGEN (2002) — установочная предкомпиляция для .NET Framework, однако он требовал ручного запуска, дублировал IL-код и не обновлялся автоматически при изменении рантайма. Затем, в 2015 году, появился .NET Native — первый полноценный AOT, но исключительно в UWP-приложениях для Windows Store. В современной ветке .NET (Core/5+) следующим шагом стал ReadyToRun (2019), с возможностью переключения на IL, а затем и Native AOT, в котором была полностью убрана зависимость сборки от рантайма .NET. В данной статье рассмотрим, с чем может столкнутся реверсер при исследовании .NET приложений, собранных с использованием Ahead-Of-Time компиляции в современных версиях .NET.

https://habr.com/ru/companies/pm/articles/1036942/

#net #reverseengineering #c# #readytorun #nativeaot

Исследование .NET: от DnSpy к IDA Pro

Что мы обычно представляем под исследованием бинарных файлов .NET? Обычно все просто: открываешь сборку в DnSpy или ILSpy, получаешь очень близкий к исходнику C# (может и не очень близкий, а...

Хабр
.NET MAUI Moves to CoreCLR in .NET 11 - .NET Blog

.NET MAUI apps on Android, iOS, and Mac Catalyst now run on CoreCLR by default in .NET 11, unifying the runtime across all of .NET.

.NET Blog

We just shipped Core Framework v3 4.0.0-pre.108 and Analyzers 2.0.0-pre.51.

This release adds new features, new analyzers, and fixed several bugs. We anticipate these being the final prerelease builds of this cycle. Please test thoroughly!

https://xunit.net/releases/v3/4.0.0-pre.108
https://xunit.net/releases/analyzers/2.0.0-pre.51

#DotNet #CSharp #FSharp #UnitTest #TDD #NativeAOT

Core Framework v3 4.0.0-pre.108 [2026 May 2] | xUnit.net

There will be another prerelease coming this weekend.

Since we like to have prerelease builds stable for a month before declaring them release, please make sure to use the current and upcoming builds to verify, especially with Native AOT.

Thanks!

#DotNet #UnitTest #NativeAOT #CSharp

What's new for .NET in Ubuntu 26.04 - .NET Blog

Ubuntu 26.04 (Resolute Raccoon) ships today with .NET 10. Here's how to install .NET 10 from the archive, use the new -resolute container tags, build Native AOT apps, and install .NET 8 and 9 from the dotnet-backports PPA.

.NET Blog
Writing Node.js addons with .NET Native AOT - .NET Blog

The C# Dev Kit team replaced C++ Node.js addons with C# and Native AOT, removing a dependency on Python. This post walks through building a Node.js native addon entirely in C# using N-API, LibraryImport, and UnmanagedCallersOnly.

.NET Blog
Writing Node.js addons with .NET Native AOT - .NET Blog

The C# Dev Kit team replaced C++ Node.js addons with C# and Native AOT, removing a dependency on Python. This post walks through building a Node.js native addon entirely in C# using N-API, LibraryImport, and UnmanagedCallersOnly.

.NET Blog