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 反编译完成
4 处理, 用批量文件名修改工具将文件[文件夹]前面的前缀去掉 OK
以上是关于C#程序反编译教程的主要内容,如果未能解决你的问题,请参考以下文章