AsmResolver 是一个用于读取、修改和重建可移植可执行文件(PE)的库。它支持在 Windows 上本机运行的 PE 映像,以及包含托管(.NET)元数据的映像。
AsmResolver 在 MIT 许可证下发布。
AsmResolver 拥有众多功能。以下是部分亮点(并非完整列表):
System.Reflection 的直观 API。
稳定版本:
每晚构建版本:
该解决方案可以使用 .NET SDK 或与之兼容的 IDE(例如 Visual Studio 和 JetBrains Rider)进行构建。主要包面向各种 .NET 运行时的 LTS 版本(.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 就不会有今天!
特别感谢 @MonoMod 的人们帮助实现 .NET Framework 3.5 兼容性。
再次衷心感谢所有在问题板上、通过电子邮件或私信提出新功能建议、对 API 设计提供反馈、进行大量测试和/或报告错误的人们。
如果你觉得在这些致谢中被遗漏或不充分,请随时联系我们。