C#程序反编译教程

Posted wangmj518

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#程序反编译教程相关的知识,希望对你有一定的参考价值。

工具:

1. de4dot - 脱壳工具

2. NET.Reflector Pro - C#IL源码查看器

流程

1. 查看是否加壳

NET.Reflector Pro打开程序如下图第一个红框是[傲视天下]的更新程序可以看出没加壳第二个红框是[有好米域名注册]的主程序加了壳的

2. 脱壳, [可选(有壳才脱)]

 进入de4dot文件夹双击"cmd.bat"

 输入如下图

 

第一个框是输入的数据这里为了输入方便我把程序名改成了 1.exe

第二个框是反出来的程序名, 1-cleaned.exe

有可能一个程序加了多次壳这里没有程序演示给一幅图大家看看

 

这种情况,就要多次脱壳如下代码(和上面的红框对应刚好相反必须相反.)

第一次: de4dot  xxx.exe   -p   mc

第二次de4dot   xxx-cleaned.ex   -p   df

3. 反编译

  首先打开NET.Reflector Pro  -   Reflector.exe  加载插件Reflector.FileDisassembler.dll  如下图

 

然后打开脱壳后的程序[按照第一步   打开1-cleaned.exe] 如下图

 

这样就能看到结构了接下来反编译成源代码,  

选中程序然后Tools   然后 最下面那个

Project type 选中Windows Application

点击generate 反编译完成

处理用批量文件名修改工具将文件[文件夹]前面的前缀去掉    OK

以上是关于C#程序反编译教程的主要内容,如果未能解决你的问题,请参考以下文章

c#如何防反编译

创建检查和反编译世界上(几乎)最短的 C# 程序

微信小程序反编译简易教程与wxappUnpacker使用

C# 反编译工具之dnSpy

最新小程序反编译详细教程,亲测可用

c#学习笔记02----自定义类库及反编译