热搜:
下载.NET平台反编译工具(Dotnet IL Editor) V2.10 绿色版

.NET平台反编译工具(Dotnet IL Editor) V2.10 绿色版

更多
  • 软件大小:1,021.00KB (1,045,504 字节)
  • 软件类别:编程书集 -> 反编译
  • 软件授权:免费软件      软件语言:英文
  • 更新时间:2020/05/23
  • 软件厂商:
  • 软件官网:
  • 应用平台:
标签
软件介绍
热度:0

Dotnet IL Editor是一款.NET平台反编译工具,可以反编译.NET程序集文件为IL代码,并且可以执行,调试反编译后生成的IL代码。它的设计出发点比较直观,新建一个项目,添加程序集文件,设置断点(F9),然后就可以调试反编译后的程序集文件,Step Into,Step Out均可,以此原理,可以找到系统的瓶颈代码,也可以深入的学习MSIL微软中间语言。

调试IL代码:

IL Editor的调试功能是它的亮点之一,可以在打开的IL代码中直接设置断点(F9, Toogle breakpoint),然后点击工具栏中的Run,启动调试。调试程序的几个要点,看堆栈Stack, 看变量值Watch,IL Editor都可以做到。

IL堆栈窗口

IL参数窗口,可显示当前被调用的方法的传入参数

IL Watch窗口

表达式可以支持自定义的表达式,这个功能与VS中的即时窗口类似,输入表量或表达式,右边计算出结果。

IL Editor的作者列举出了一些经过测试,演示的表达式代码,他们是

5 * -61 + 2 * 3 - 10 / 5 * 5(1 + 2 * 3 - 10 / 5 * 5).ToString()(-5).ToString()new object() + "a""abc".Length.ToString()System.Type.GetType("System.String").GUID.ToByteArray()TestApplication.DebugTest.CreateOperatorTest4("op1") | trueTestApplication.DebugTest.ParamsTest2()TestApplication.DebugTest.ParamsTest2(5, 6)System.String.Format("{0}{1}{2}{3}{4}", "a", "b", "c", "d", "e")new object[] {4, "a", 5}((System.Exception){exception}).MessageTestApplication.GenericClass<int, System.DateTime>.StaticMethod<string>("test")new TestApplication.TestClass<int, string>[] {new TestApplication.TestClass<int, string>(1, "one")}TestApplication.GenericClass<int, string>.NestedGenericClass<System.Type>.StaticMixedMethod<System.DateTime>(System.DateTime.Now, 5, null)

是的,你可以直接在窗口中输入,IL会对表达式求值,返回结果显示到右边。

最后看到执行结果

控制上显示输出值,与在VS中调试C#源代码的体验完全相同。

学习IL指令集

IL Editor的作者肯定想到IL语言不容易记住和熟悉,当你在IL Editor中移动鼠标时,随着鼠标当前行显示的IL代码的不同,在IL Instructions窗口中,会及时的显示它的方法注释,并显示MSDN地址,可以直接点击进入该IL方法的文档。

设计的非常贴心周到。

Click here直接挑到MSDN网页中。

http://msdn.microsoft.com/en-us/library/system.reflection.emit.opcodes.Nop.aspx

对于我们习惯的语言来说,还没有看到有相关的设置,可以用来设置跳转到中文版的MSDN上。

命令行调用

IL Editor支持命令行方式的调用,命令行的参数列表如下所示

dile [/p "Project name"] [/a "assembly path"] [/l "project name.dileproj"]

/p Optional. When DILE is loaded, a new project will be created with the given name. /a Optional, can be repeated. When DILE is loaded, a new project will be created and the given assemblies will be added to it. /l Optional. DILE will load the given dileproj file. If this parameter is given then /p and /a will be ignored. If a parameter is followed by a name/path which contains spaces then it should be written between quotes

创建一个Test project的项目dile /p "Test project"

创建一个Test project的项目,并给它添加程序集

dile /p "Test project" /a TestAssembly.exe

创建一个新项目,并从两个不同的地方加载程序集

dile /a TestAssembly.exe /a "c:\assemblies\My test.dll"

加载一个现有的项目

dile /l TestProject.dileproj

软件截图

  • .NET平台反编译工具(Dotnet IL Editor) V2.10 绿色版第1张

下载地址

.NET平台反编译工具(Dotnet IL Editor) V2.10 绿色版