You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何反编译.NET单文件exe程序或从中提取嵌入的.dll文件?

.NET单文件构建程序的程序集提取与反编译方案

前置说明

使用单文件选项构建的.NET程序本质是嵌入了.NET运行时、业务程序集、依赖项的原生二进制包,因此普通反编译工具无法直接识别其CLR结构,运行ildasm时会抛出如下错误:

error: 'example.exe' has no valid CLR header and cannot be disassembled

注意:如果目标程序是通过Native AOT模式编译的单文件,不存在可提取的IL程序集,无法通过常规手段反编译为C#/IL代码

方案一:先提取内嵌.NET程序集再反编译

  • 工具选择1:ExtractDotnetSingleFile命令行工具,运行命令 ExtractDotnetSingleFile.exe 目标程序.exe 即可自动导出所有内嵌的dll、运行时资源到同级输出目录
  • 工具选择2:7-Zip解压工具,.NET 5+的大部分单文件包本质为自解压归档,右键选择7-Zip打开即可直接看到内嵌的dll文件,手动提取即可
  • 提取得到的纯IL dll文件即可正常用dnSpy、ILSpy、ildasm等常规反编译工具加载使用

方案二:直接支持解析.NET单文件的反编译工具

  • 最新版ILSpy(7.0及以上):原生适配.NET Core 3.1至.NET 8的非AOT单文件格式,直接打开exe即可自动识别内嵌的所有程序集,无需提前提取即可查看反编译代码
  • dnSpy社区维护版:原版dnSpy已停止更新,第三方维护的社区分支已添加单文件exe解析支持,操作逻辑与原版完全一致

内容的提问来源于stack exchange,提问作者philipsal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 05:45:11