公开预览 · 注册及正式收款尚未开放。
Anti-AIClonePILOT

日志日期 · 周三

ILSpy 11.0:迁移到 Avalonia,.NET 反编译器全面跨平台

2026-08-12(UTC)发布的 ILSpy 11.0 可在 Windows、Linux、macOS 运行,并新增从运行中进程打开程序集等功能。

当天发生了什么

2026-08-12 05:13(UTC),ILSpy 在 GitHub 发布了 11.0 正式版(RC 版于 2026-08-04 发布)。发布说明的主线是界面从 WPF 迁移到 Avalonia,WPF 前端被完全移除,ILSpy 因此可以在 Linux 和 Mac 上运行。新功能包括:从 NuGet 源打开、从运行中的进程打开(全平台)、反编译 C# 视图中的书签,以及可选的地址栏式导航。命令行工具 ilspycmd 新增 --member 单成员反编译、-t 类型名模糊匹配和 --dump-table 元数据表导出。10.1 中的嵌入资源列出与提取、BAML 反编译为 XAML 继续保留。说明还提到多项针对恶意构造输入的加固修复,以及用 NuGet 包对反编译引擎做模糊测试。该版本基于 .NET 10.0;发布说明特别提示 macOS 版 ILSpy.app 既未签名也未公证。

对保护应用逻辑的人意味着什么

.NET 程序集中的 IL 和元数据本来就容易被还原成接近源码的 C#,这一点并不新。11.0 改变的是门槛和场景:分析者不再需要 Windows,命令行可以按成员精确输出,便于批量脚本化地把代码片段交给大模型阅读;「从运行中的进程打开」意味着分析对象不再局限于磁盘上的文件,依赖「运行时才解出程序集」的做法,应当默认会在程序集被加载后暴露。另一个细节是针对恶意构造输入的加固:依赖让反编译器崩溃来阻止分析的技巧,其有效期本来就短,这次又缩短了一些。需要说明的是,发布说明只描述了功能,我们没有测量它对任何具体保护方案的效果。

可以落地的检查

第一,在 CI 中对自己的发布程序集运行 ilspycmd,把输出纳入发布评审,直观看到交付给用户的代码是什么样子。第二,检查嵌入资源和 BAML/XAML 中是否含有连接字符串、内部地址或许可证逻辑。第三,不把「反编译器打不开」当作保护目标,任何依赖解析器缺陷的手段都应视为临时措施。第四,把许可证校验和关键业务规则放到服务端,客户端只保留展示和交互所需的逻辑。每次升级 .NET SDK 或调整裁剪、发布、打包选项后,都重新做一次 ilspycmd 评审,因为这些改动都可能改变最终交付的程序集内容。

行动清单

  • 在 CI 中用 ilspycmd 输出自家程序集并纳入评审
  • 检查嵌入资源与 BAML/XAML 中的敏感内容
  • 不把依赖反编译器缺陷的手段视为长期保护
  • 许可证与关键规则放到服务端

原始资料

全部原始资料与转载状态 ↗