
Библиотека для создания, чтения и редактирования PE-файлов и .NET-модулей.
AsmResolver — это библиотека для чтения, изменения и восстановления файлов Portable Executable (PE). Она поддерживает PE-образы, работающие в Windows нативно, а также образы, содержащие управляемые (.NET) метаданные.
AsmResolver распространяется под лицензией MIT.
AsmResolver обладает множеством возможностей. Ниже приведён неисчерпывающий список основных из них:
System.Reflection.
Стабильные сборки:
Ночные сборки:
Решение можно собрать с помощью .NET SDK или IDE, которая с ним работает (например, Visual Studio и JetBrains Rider). Основные пакеты нацелены на LTS-версии различных сред выполнения .NET (.NET Framework 3.5, .NET Standard 2.0, .NET Standard 2.1, .NET Core 3.1, .NET 6.0, .NET 8.0, .NET 9.0, .NET 10.0).
Чтобы собрать проект из командной строки, используйте:
$ dotnet build
Чтобы запустить все тесты, используйте:
$ dotnet test
Для успешного запуска тестов вам потребуется установить дополнительные версии среды выполнения .NET (включая версии STS или версии, объявленные EOL), поскольку модульные тесты проверяют чтение бинарных файлов, нацеленных на различные среды выполнения .NET.
Для успешного запуска тестов на MacOS и Linux также ожидается установка mono и wine.
AsmResolver начинался как хобби-проект, но превратился в общественный проект с различными участниками. Без этих людей AsmResolver не был бы там, где он находится сегодня!
Особая благодарность всем людям, которые внесли вклад непосредственно коммитами кода или материально через GitHub-спонсоров.
Особая благодарность людям из @MonoMod за помощь с совместимостью с .NET Framework 3.5.
Ещё одно большое спасибо всем людям, которые предлагали новые функции, давали обратную связь по дизайну API, проводили обширное тестирование и/или сообщали об ошибках на форуме проблем, по электронной почте или в личных сообщениях.
Если вы считаете, что вы недостаточно представлены в этих благодарностях, не стесняйтесь связаться с нами.