ILSpy反编译工具的使用
admin
2023-02-16 19:20:03
0次

ILSpy反编译工具的使用
本文导读:ILSpy反编译工具的使用。不过,ILspy需要在电脑上安装.NET Framework 4.0。ILspy可以将一个dll文件转换为C#或VB语言。ILspy对于单个文件可以保存为.cs文件或.vb文件,当文件较多时,可以选择保存为项目文件。C#语句可被ILspy反编译出来,并可支持yield return语句和 lambdas表达式的反编译。

文件结构截图
ILSpy反编译工具的使用

ILspy的界面截图

ILSpy反编译工具的使用

ILSpy的界面与Reflector相似,左边以树型控件显示程序集和它的类型,右边是对应的源代码。基础的反编译功能,与Reflector相比,丝毫不差,甚至有时候用Reflector无法反编译(因为加密)的程序集,用ILSpy可以反编译。

ILspy需要在电脑上安装.NET Framework 4.0.

ILspy常用的几个功能

基础的类型反编译功能都具备

现在只支持把源代码反编译为C#和IL语言,不支持VB。

ILSpy的代码保存功能

当点击一个类型时,选择File->Save Code会反编译当前的类型并保存到指定的文件中,当选择程序集时,Save Code保存为一个项目(csproj)文件,并且把它所有的类型加到这个项目中。

ILSpy的调试器功能

这里要说的调试器,不是指Visual Studio的源码级别的调试器,而是指程序集的调试器。Reflector有个Addin,可以直接附加在Visual Studio中,调试第三方的类型库,而不需要把第三方的类型库反编译后,以源码的形式添加到项目中。

ILSpy也有这个功能,直接对第三方的程序集进行调试,有两种选项

如果第三方类型库是可执行程序(EXE),可以用Debug an executable来启动这个程序。

如果第三方类型库是程序集(DLL),可以用Attach to running application来附加,以启动程序集的调试。

ILSpy反编译工具的使用

从上图中已经可以看出它的用法,和调试源代码一样。在需要监视变量值的方法的地方,设置断点,当程序运行到此时,就可以通过监视窗体来观察变量的值。

这两者的区别是,Attach to a running application调试时,如果代码经过编译器优化,则监视器会无法得到它的值。

如图所示,无法显示正在调试的变量num的值,因为代码已经经过优化。官方推荐的方式是Debug an executable

与在Visual Studio中调试.NET源代码一样,你可以Step into,Step over,continue,同时状态栏会显示就绪(stand by),运行中(running),正在调试(debugging)。

除了调试程序集的C#/VB形式的代码之外,也可以以IL代码形式调试,如下图所示

ILSpy反编译工具的使用

ILSpy的debugger是以插件形式存在的,请确保包含ILSpy.Debugger的Plugin。

不过调试.NET程序集一定需要PDB文件才可以。然而ILSpy却没有产生PDB文件(no PDB files are generated),而且它不可以调试ASP.NET Web application和Web 服务。

软件下载地址:http://down.51cto.com/data/2455152

上一篇:如何安装 Composer

下一篇:PHP安装OCI8扩展

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...