简介反编译的方式有很多种,其实最靠谱的还是IL反编译。 如果不懂IL可以尝试我这边文章入门:http://www./278.html 不过我下面要说的不是IL这种底层的代码反编译,而是Reflector中的Reflexil插件进行反编 也许有人会说Reflector不就是反编译了么,为什么还要用Reflexil这个插件? Reflector 仅仅是反编译出源码给你看,并不能在修改后编译回去。所以我们需要使用Reflexil这个插件进行反编译回去。
.NET 三种反编译方式这里顺便介绍下我所知道的三种反编译回去的方式:
Reflexil 安装在此之前你需要先去下载Reflector和Reflexil插件,这些你可以去百度或谷歌上面下载到。(如果你不会…那下面的文章不用看了) 下载好之后首先安装Reflector程序,安装完毕后在把Reflexil插件放到Reflector程序目录下面(其实是个dll文件而已),如下图所示 然后打开Reflector,在工具栏依次点击 然后在弹出的界面中点击+号选择刚刚拷贝到Reflector中的Reflexil插件的dll文件,如下图所示 然后点击Close ,此时程序的 Tools 栏目下已经有了 Reflexil 插件选项。
要反编译的示例项目本文反编译一个Winform程序(当然,你也可以反编译.NET 的其他 dll 文件),程序如下所示: 图 代码
我们把这个exe程序进行反编译吧
开始反编译工作首先在Reflector工具栏中依次点击 然后打开你要反编译的程序集,我们编译自己写的Winform的exe程序作为测试吧,如下图所示。 然后我们选中我们要反编译的方法,在Reflexil插件中进行反编译,如下图所示。 可以直接在“你好”的那一栏进行点击右键选择 “Edit” 进行直接的编辑 也可以在图中的这个选项卡( Instructions ) 中的表的任意一栏点击右键选择,如下图所示 你可以直接 如果你选择的是 但是似乎这个插件的编辑整个class的功能有缺陷,有些代码识别不出来。所以还是看情况使用吧,如果 最后一步操作,依次在Reflector项目中 保存即可,这样就完成了修改代码,编译成功。如图 哈哈,反正看图不看文字应该也可以直接结束这篇文章。 以下是我反编译之后的程序下载地址,你可以作为练习再次反编译:TestWinform.Patched 转载请注明出处王旭博客 ? 教你使用 Reflexil 反编译.NET |
|