如何使用ILSpy 把发布版本反编译成源码
有时候,看法别人写的代码比较好,想看看他们的代码到底是如何写的,于是就找方法,看看能否把发布版本变成源码。后来终于发现一个词“反编译”,我终于知道怎么办了。
工具:ILSpy 百度下载一个,该工具很强大,建议每个.net程序员都安装一个。
Vs2012 这个大家都懂的。
下面咱们开始工作啦。
打开发布的文件,看到里面的bin目录。
第1步:创建一个web站点(ASP.ent),将所有的发布文件都拷贝进去。
第2步:打开ILSpy ,---文件---打开---bin目录里的一个dll文件,

第3步:文件--保存代码,就可以把这个dll保存成一个有源代码的项目文件(Hidistro.SaleSystem.Member.csproj)。
第4步:在刚刚创建的web站点,将Hidistro.SaleSystem.Member.csproj 项目添加进去;
第5步:一次类推,将所有需要反编译的dll都弄成源码添加到web站点;
第6步:生成整个解决方案,一看有很多报错信息,没关系,咱们一个一个来解决; 这里的报错信息绝大部分都是因为 没有引用dll或者是项目之间没有引用上造成的。知道原因后,我们就好解决了。
就这么简单,主要是要有耐心,有错误不要怕。都可以解决。
如何使用ILSpy 把发布版本反编译成源码的更多相关文章
- Android反编译(一)之反编译JAVA源码
Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具 dex2jar http://code.go ...
- 检测微信小程序是否被反编译获取源码
众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码.我自己的小程序也被别人反编译拿到源码还上线了,非常无语. 既然客户端不好防范,服务端还是可以做点手脚的. 小程序的Referer是不可 ...
- Android反编译调试源码
Android反编译调试源码 1. 反编译得到源码 直接在windows 命令行下输入命令java -jar apktool_2.0.0.jar d -d 小米运动_1.4.641_1058.apk ...
- VS反编译查看源码时,会把类实现的所有接口都直接显示
今天在看ArrayList,发现一个很有意思的问题.从VS里反编译看,ArrayList继承了ICollection. IEnumerable.IList和ICloneable,而IList又继承了I ...
- 一、Vs2019扩展多了 导航到反编译的源码中运行
一.导航到反编译的源码中运行
- vue项目打包后使用reverse-sourcemap反编译到源码(详解版)
首先得说一下,vue项目中productionSourceMap这个属性.该属性对应的值为true|false. 当productionSourceMap: true,时: 1.打包后能看到xxx ...
- 【Eclipse+IntelliJ反编译】Eclipse/IntelliJ IDEA反编译查看源码及注释
怎么用IDE查看第三方jar包的源码和注释,IntelliJ IDEA自带反编译器,Eclipse装个插件即可,不能看注释就麻烦了,总不能去找API文档吧,现在终于掌握了,下面给出解决方案,供大家参考 ...
- java反编译获取源码
最近在研究反射,想做一个东西,把运行的java程序饭编译(Decompile)成.java文件.现思路如下: 1.写出程序反编译一个类 2.将所有类反编译 3.java代码注入一个正在运行的java程 ...
- Android:反编译查看源码
下载>>>>>>>>>>>>>>> 使用图形化反编译工具:Androidfby 打开Androidfby中的A ...
随机推荐
- centos6.5搭建redmine3.4
缺陷管理,对问题的持续跟踪!redmine很棒的基于ruby开发 Redmine部署架构 mysql+nginx+ruby+redmine 3.4.x 部署环境 centos 6.5 x64redm ...
- 使用std::find_if提取序列容器的子串
一个需求是这样的,一个vector容器中,我需要提取满足一定条件的元素的序列.就比如,一个树形结构,我把该接口拍扁成vector容器,每个节点都有一个惟一ID. 以下就是根据特定的ID查找节点下的子节 ...
- 多线程场景下如何使用 ArrayList
ArrayList 不是线程安全的,这点很多人都知道,但是线程不安全的原因及表现,怎么在多线程情况下使用ArrayList,可能不是很清楚,这里总结一下. 1. 源码分析 查看 ArrayList 的 ...
- Spring的缺点有哪些--Ext扩展
http://www.iteye.com/topic/1131284 1.JavaTear2014 -- 发表时间:2013-07-17 最后修改:2013-07-17 Spring应用比较 ...
- javascript中的复制
github 深度复制这个问题看似简单,实际上要想完美实现需要很多知识. 需要考虑Set,Map,Promise等类型的对象 这个库简洁明了,是一个小巧玲珑的JS库 Promise简单例子 funct ...
- memcached全面剖析--4. memcached的分布式算法
我是Mixi的长野. 第2次.第3次由前坂介绍了memcached的内部情况.本次不再介绍memcached的内部结构,开始介绍memcached的分布式. memcached的分布式 正如第1次中介 ...
- winetricks 用WineTricks令你的Wine更完整
Linux下最有名的Windows环境模拟器就是WINE了.它提供了一个可以模拟WINDOWS环境的基本平台,在这上面你几乎可以运行任何你想运行的windows程序. 什么?你不相信?不要告诉我你的程 ...
- C/C++函数指针(typedef简化定义)
学习要点: 1,函数地址的一般定义和typedef简化定义; 2,函数地址的获取; 3,A函数地址作为B函数参数的传递; 函数存放在内存的代码区域内,它 ...
- mongodb的serverstatus
MongoDB shell version: 2.0.5 connecting to: test { "host" : "TENCENT64.site", -- ...
- Java NIO.2 —— 文件或目录移动操作
移动文件树是复制和删除的文件树的结合.实际上,有两种方式来完成文件的移动.一种是使用Files.move(), Files.copy(), 和Files.delete() 这三个方法:另一种是只使用F ...