.net工具基础

MSIL Disassembler(ildasm.exe) -- 将C#程序或类库反汇编处理,显示C#编译器生成的CIL代码

C:Program FilesMicrosoft SDKsWindowsv6.0ABinildasm.exe  版本号:3.5.30729.1  32位

C:Program FilesMicrosoft SDKsWindowsv6.0ABinx64ildasm.exe  版本号:3.5.30729.1  64位

C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinildasm.exe  版本号:3.5.30729.1  32位

C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinx64ildasm.exe  版本号:3.5.30729.1  64位

C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 Toolsildasm.exe  版本号:4.0.30319.1  32位

C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 Toolsx64ildasm.exe  版本号:4.0.30319.1  64位

C:Program Files (x86)Microsoft SDKsWindowsv8.1AinNETFX 4.5.1 Toolsildasm.exe  版本号:4.0.30319.33440  32位

C:Program Files (x86)Microsoft SDKsWindowsv8.1AinNETFX 4.5.1 Toolsx64ildasm.exe  版本号:4.0.30319.33440  64位

C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6 Toolsildasm.exe  版本号:4.0.30319.0  32位

C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6 Toolsx64ildasm.exe  版本号:4.0.30319.0  64位

C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Toolsildasm.exe  版本号:4.0.30319.0  32位

C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Toolsx64ildasm.exe  版本号:4.0.30319.0  64位

示例代码:

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 1;
            int b = 2;

            int c = a + b;
        }
    }
}

命令行用法:

ildasm.exe /text d:ConsoleApplication2.exe // 将ConsoleApplication2.exe反汇编结果显示在命令行窗口上 

ildasm.exe /output:ConsoleApplication2.il ConsoleApplication2.exe // 一般可以得到2个文件:ConsoleApplication2.il(反编译得到的IL代码)和ConsoleApplication2.res(资源文件)

注:mono也有对应的反汇编工具monodis,可使用如下命令进行反汇编 

     monodis d:ConsoleApplication2.exe // 将ConsoleApplication2.exe反汇编结果显示在命令行窗口上 

ILSpy  -- 将C#程序或类库反编译为C#源代码

            http://ilspy.net/

dnSpy     -- 将C#程序或类库反编译为C#源代码

github开源   https://github.com/0xd4d/dnSpy

.NET Reflector   -- 将C#程序或类库反编译为C#源代码

                            http://www.red-gate.com/products/dotnet-development/reflector/

ILMerge   -- 将多个.net程序集合并

ILMerge命令行:http://www.microsoft.com/en-us/download/details.aspx?id=17630

ILMerge-GUI版本(将下载下来的ILMergeGuiPortable.exe放到ILMerge.exe所在目录中即可):https://ilmergegui.codeplex.com/

原文地址:https://www.cnblogs.com/kekec/p/6885345.html