反编译dot net程序 使用 ILSpy 和 JustDecompile 示例

介绍两个C# dll/exe反编译工具,【ILSpy】和【JustDecompile】,都是免费的
首先新建一个Winform Solution

一、新建一个ClassLibrary Project命名为【FormLibraryForDecompileTest】

1、新建Form,desinger 拖放一些控件,图片等添加到 Resource, 界面示例如下:


image.png

然后安装 nuget 包【Newtonsoft.Json】,新建一个Model类,编写一个UserControl,传入Model类,调用Json转换为字符串并显示在界面上,Form中点击按钮打开Dialog显示控件
2、工程目录大致如下:


20180804114409.png

二、新建一个Winform app Project,引用刚才的工程,Main方法中直接run刚才的FormTest

image.png

三、运行 ILSpy, 打开bin目录下编译出的dll:

image.png

因为是基于Framework 3.5的程序,所以C#版本尽量选低一点,默认是7,生成的代码solution编译会有问题
打开后,File --> Save Code 可以将dll的代码保存为工程文件.csproj
保存好后,新建Solution,添加存在的两个工程,修复引用,目录结构如下:


image.png

四、运行 JustDecompile,打开dll

image.png

按图所示创建一个工程文件,打开其中自动生成的 sln 文件,可以看到工程目录结构如下:


image.png

可见其相比 ILSpy 更贴合实际

这两种方式生成的 solution 编译运行都和原始程序相同

你可能感兴趣的:(反编译dot net程序 使用 ILSpy 和 JustDecompile 示例)