前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

ILSpy反编译工具的使用 - 学习也休闲 学习也休闲 立即登录 注册新账号 进入会员中心 设为首页 添加收藏 首页 编程学习 Web前端 数据库 软件设计 Web编程 C#编程 ASP.NET编程 面试 其它 javascript jquery extjs css 其它 数据库管理 SQL语言 数据库设计 其它 设计模式 面向对象 软件架构 其它 您的位置:首页 > 数据库 > 其它 ILSpy反编译工具的使用 更多 2013/11/10 来源:TortoiseSVN学习浏览量:804 查找相似文章 学习标签: TortoiseSVN 版本控制 本文导读:ILSpy反编译工具的使用。不过,ILspy需要在电脑上安装.NET Framework 4.0。ILspy可以将一个dll文件转换为C#或VB语言。ILspy对于单个文件可以保存为.cs文件或.vb文件,当文件较多时,可以选择保存为项目文件。C#语句可被ILspy反编译出来,并可支持yield return语句和 lambdas表达式的反编译。 以前一直使用reflector来查看.net类库的一些信息,不过,自2011年2月份开始,reflector就开始转向收费软件了,所以爱好免费软件的开发者们转而开发自己的反编译软件。于是ILspy就因运而生了。ILSPY这个开源工具的目的就是代替reflector的,它反编译出的代码和reflector差不多。 SharpDevelop 是除Visual Studio外,另一个可选择的唯一的.NET开放工具,并且它是开源的。它提供的功能也相当不错,几乎就是在重写Visual Studio。最新的版本中,直接增加了对Visual Studio的解决方安案文件和项目文件的支持。ILSpy是SharpDevelop小组的反编译工具,也是开放源代码的,下面介绍一下它的调试器和反编译器。 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来附加,以启动程序集的调试。 从上图中已经可以看出它的用法,和调试源代码一样。在需要监视变量值的方法的地方,设置断点,当程序运行到此时,就可以通过监视窗体来观察变量的值。 这两者的区别是,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的debugger是以插件形式存在的,请确保包含ILSpy.Debugger的Plugin。 不过调试.NET程序集一定需要PDB文件才可以。然而ILSpy却没有产生PDB文件(no PDB files are generated),而且它不可以调试ASP.NET Web application和Web 服务。 收藏 142 很赞 162 上一篇:mongodb备份和还原 下一篇:mongodb简单介绍和安装 您可能感兴趣 推荐标签 兼容性测试工具 浏览排行 本周 本月 char、nchar、varchar、nvarchar、text、ntext的区别 [106] 一月好评排行榜 1mongodb query查询 2mongodb group分组 3MongoDB的MapReduce的用法 4什么是mongodb 固定集合 5mongodb eval 执行服务器端脚本 6MongoDB中的索引的操作 7mongodb基本数据类型 8MongoDB聚合函数 9mongodb objectid类型 10mongodb insert操作 11MongoDB的where查询 12mongodb distinct去重 13MongoDB命令与SQL语法对比 14mongodb 分页查询 15mongodb常用命令的语法 16mongodb备份和还原 17char、nchar、varchar、nvarchar、text、ntext的区别 18mongodb简单介绍和安装 首页 编程学习 Web前端 数据库 软件设计 学习也休闲网 ?2010-2013 保留所有权利 蜀ICP备12032523号