可可西

.net工具基础

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

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\ildasm.exe  版本号:3.5.30729.1  32位

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\ildasm.exe  版本号:3.5.30729.1  64位

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ildasm.exe  版本号:3.5.30729.1  32位

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\ildasm.exe  版本号:3.5.30729.1  64位

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\ildasm.exe  版本号:4.0.30319.1  32位

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\ildasm.exe  版本号:4.0.30319.1  64位

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe  版本号:4.0.30319.33440  32位

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\ildasm.exe  版本号:4.0.30319.33440  64位

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\ildasm.exe  版本号:4.0.30319.0  32位

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\x64\ildasm.exe  版本号:4.0.30319.0  64位

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe  版本号:4.0.30319.0  32位

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\ildasm.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/

 

 

posted on 2017-05-21 22:01  可可西  阅读(945)  评论(0编辑  收藏  举报

导航