工具

AsmResolver PE 与 .NET 模块编辑库

用于读取、修改和重建 PE(可移植可执行)文件的 C# 库,既支持 Windows 原生映像,也支持带 .NET 元数据的映像。它提供三个抽象层次:原始文件头和节区(PEFile);导入、导出、TLS、异常、调试信息和 Win32 资源等数据目录的解析结果(PEImage);以及类似 System.Reflection 的 .NET 程序集和模块模型,涵盖托管、原生和动态方法体。它还能从 AppHost/单文件捆绑包中提取文件,支持 ReadyToRun 映像,无需 DIA 即可读取 PDB 和 Portable PDB 符号;上游的设计目标是在面对格式异常或经过混淆的二进制时保持稳健。

使用条件与局限

  • 审阅时的版本为 v6.0.1,于 2026-07-25 发布到 GitHub 和 NuGet;所审阅的 master 分支提交比该版本多一个更新贡献指南的提交。每夜构建通过单独的 NuGet 源发布。6.0 版本修改了 API,上游提供了从 v5.x 迁移的指南。
  • 以分层的 NuGet 包分发:AsmResolver、AsmResolver.PE.File、AsmResolver.PE、AsmResolver.PE.Win32Resources、AsmResolver.DotNet、AsmResolver.DotNet.Dynamic 和 AsmResolver.Symbols.Pdb。这些库面向 .NET Framework 3.5、4.6.2 和 4.7.2,.NET Standard 2.0 和 2.1,.NET Core 3.1,以及 .NET 6、8、9 和 10;README 列出的环境包括 Windows、类 Unix 系统、Mono 和 NixOS。使用 .NET SDK 构建;完整测试套件还需要安装其他 .NET 运行时,在 macOS 和 Linux 上另需 Mono 和 Wine。
  • 它是一个程序库,不带图形界面,也不提供 C# 反编译器:使用者需针对其 API 编写 .NET 代码,并自行提供 PE 文件或 .NET 程序集。修改或重建后的映像仍需实际运行加以检验。
  • 采用 MIT 许可。测试资源是专门构建的示例二进制。对格式异常或混淆二进制的稳健性是上游的设计目标,并不保证能处理任何特定的保护工具。本次未处理任何二进制。

关于此条目

类型
工具
类别
.NET 工具
关联
基础工具
目标
应用 · 二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · Washi1337/AsmResolver · 修订 0715000
  2. docs/guides/overview.md GitHub · Washi1337/AsmResolver · 修订 0715000
  3. docs/guides/dotnet/bundles.md GitHub · Washi1337/AsmResolver · 修订 0715000
  4. docs/guides/migration-v5-v6.md GitHub · Washi1337/AsmResolver · 修订 0715000
  5. src/Directory.Build.props GitHub · Washi1337/AsmResolver · 修订 0715000
  6. Directory.Build.props GitHub · Washi1337/AsmResolver · 修订 0715000
  7. LICENSE.md GitHub · Washi1337/AsmResolver · 修订 0715000
  8. https://github.com/Washi1337/AsmResolver/releases/tag/v6.0.1
  9. https://www.nuget.org/packages/AsmResolver/6.0.1