ILSpy是一款非常不错的NET反编译工具,它不需要任何安装,这意味着它可以保存到您的便携式应用程序集合中,复制到 USB 闪存驱动器,并且可以在任何PC上使用而无需设置来浏览和检查 .NET 程序集。有需要的小伙伴欢迎来西西下载。
尽管有许多类似的工具可供使用,但 ILSpy 非常易于使用以及免费和开源。它不需要任何安装,这意味着它可以保存到您的便携式应用程序集合中,复制到 USB 闪存驱动器,并且可以在任何PC上使用而无需设置来浏览和检查 .NET 程序集。
使用此工具仔细查看.NET程序集
主应用程序窗口具有清晰的布局,分为两个主窗格:用于浏览 .NET 程序集树以及仔细查看任何选定项目。它可以检查 DLL,EXE 和 WINMD 文件(Windows 元数据)。可以从 GAC 加载数据,也可以打开 Nuget 包。
ILSpy 能够使用 C# 在 C#,IL 和 IL 中呈现代码。对于 C#,您可以选择 C#1.0/VS .NET 到 C#7.2/VS 2017。例如,您可以查看资源和引用,查看表以及将信息提取到文件。
使用 C# 在 C#,IL 和 IL 中呈现代码
由于该程序仅用于查看目的,因此无法进行文件修改。另一方面,您可以在查找类型,成员,方法,字段,属性,事件,常量或元数据标记时利用搜索功能。
可以配置多个反编译器设置,例如使用调试符号中的变量名称,删除无死区和副作用的代码,或者在反编译后扩展成员定义。此外,您可以自定义字体并允许多个实例。
考虑到所有方面,IlSpy 尽可能简单地反编译 .NET 程序集,看看是什么让软件变得简单。由于它是开源的,开发人员可以随意修改和使用其代码。
ILSPY 5.0版
新的语言特点
C'35;8.0:可为空的引用类型
C'35;7.3:非托管泛型约束
索引可移动的固定缓冲区:固定缓冲区可以索引到,而不必首先固定。
使用不安全的内部函数来表示不能用C'35;表示的IL操作。
通用异步返回类型
C'35;7.0本地函数(35;1586)
C'35;7.0抛出表达式('35;1600)
新功能
将一组程序集反编译为解决方案(35;1550by@dymanoid)
新的BAML反编译程序
msixformicrosoftstore:@onovotny添加了构建支持(包括azure管道)。
如果方法被标识为windows窗体initializecomponent,则生成与windows窗体设计器兼容的代码
添加了新的removedeadstores选项。
添加了新的AlwaysShowEnumMemberValues选项。
反编译引擎的改进和错误修复
改进了反编译程序和反汇编程序对无效元数据标记的稳定性。
在不是所有类型/引用都可用的情况下改进了反编译。
为空字符串添加了打开字符串模式。
添加对ReadOnlySpan<t>初始化模式的支持
改进了refreadonly委托和返回类型的反编译。
改进了反编译或ref类型的表达式,特别是ref/in扩展方法和in参数。
改进了对单收益返回状态机和闭包类型的支持。
改进的linq查询反编译
pdb生成器现在可以发出异步的方法步进信息
改进和错误修复
许多小错误和稳定性修复。
改进了线性化步骤的性能
vsix:修复缺少依赖项的问题
用户界面改进
在树视图中还原保存的位置时,避免在等待程序集加载时阻塞ui
在TreeView和Search中支持混淆的名称35;1359
在IL视图中转义不可打印字符
重做C35;反编译器选项对话框(统一语言设置面板)
使缩进或反编译代码可配置。
@maikebing(35;1299)截图中文翻译
@mcpiroman对搜索面板的小改进(35;1476)
如果无法分析实体而不是崩溃,则显示错误消息。
反编译器视图中改进的链接:
方法组/委托引用
通过单击左/右括号,可以访问属性的构造函数。
固定字段现在已正确链接
添加了匹配的断开突出显示
更新为Avalonedit6.0预览版
触摸式ILSPYCMD工具
添加-d'1244;-debuginfo选项参见演示应用程序
添加-r'124th;-referencepath选项
架构更改
我们放弃了对除netstandard2.035;1416以外的所有tfm的支持
重新激活旧反编译器中的许多测试
已知问题和限制
C'35;8.0可为空的引用类型元数据仅支持最新格式。请注意,这是一个中断性更改,不支持由较旧的C358;预览版本生成的程序集。(见35;1619(评论))
还不支持泛型本地函数
从GAC打开程序集可能需要管理员权限
匹配括号突出显示尚不支持引入新语法的所有语言功能。