如何利用反编译工具Reflector的插件Reflexil修改下面的内容

jieqimin2008 2008-07-02 04:09:13
如何利用反编译工具Reflector插件Reflexil修改下面的内容:

this.dropdownlist1.selectindex=0;
修改为:
this.dropdownlist2.selectindex=-1;
...全文
865 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jieqimin2008 2008-07-02
  • 打赏
  • 举报
回复
简单一点,改成:
this.dropdownlist1.selectindex=-1;
jieqimin2008 2008-07-02
  • 打赏
  • 举报
回复
如果有Reflexil的用法详细说明那更好!

Reflexil是一个.NET程序集编辑器,方便开发人员对.NET程序进行修改;可以作为一个Reflector插件修改程序集的IL并保存到磁盘文件,也可以在自己的.NET程序中调用进行更为灵活的.NET程序集修改。Reflexil使用的Mono.Cecil。   下面介绍在Reflector中使用Reflexil插件进行反编   也许有人会说Reflector不就是反编译了么,为什么还要用Reflexil这个插件? Reflector 仅仅是反编译出源码给你看,并不能在修改后编译回去。所以我们需要使用Reflexil这个插件进行反编译回去。 .NET 三种反编译方式 这里顺便介绍下我所知道的三种反编译回去的方式: 直接修改IL代码(当然,这比较难,需要熟悉IL汇编,但是也是最实用的。也许我会在以后的文章详细阐述) 使用Reflector进行整个代码项目的导出,然后用VS进行修改后编译(在大型项目中,如果有很多其他的dll引用,也许会让你寸步难行,无法使用VS编译通过,所以大型项目直接用IL汇编反编译关键代码即可) 使用Reflexil插件进行直接反编译(似乎这种要比第二种方法要好的多,至少很省事。其实实际使用起来也不是特别的方便,本文会进行一个稍微详细的使用介绍) Reflexil 安装 在此之前你需要先去下载Reflector和Reflexil插件,这些你可以去百度或谷歌上面下载到。(如果你不会…那下面的文章不用看了) 下载好之后首先安装Reflector程序,安装完毕后在把Reflexil插件放到Reflector程序目录下面(其实是个dll文件而已),如下图所示 然后打开Reflector,在工具栏依次点击 Tools -> Add-Ins... ,如下图所示 然后在弹出的界面中点击 号选择刚刚拷贝到Reflector中的Reflexil插件的dll文件,如下图所示 然后点击Close ,此时程序的 Tools 栏目下已经有了 Reflexil 插件选项。 要反编译的示例项目 本文反编译一个Winform程序(当然,你也可以反编译.NET 的其他 dll 文件),程序如下所示: 图 代码     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         private void btnTest_Click(object sender, EventArgs e)         {             MessageBox.Show("你好");         }     } 我们把这个exe程序进行反编译吧 开始反编译工作 首先在Reflector工具栏中依次点击 Tools -> Reflexil 打开 Reflexil 的窗口,如下图所示 然后打开你要反编译的程序集,我们编译自己写的Winform的exe程序作为测试吧,如下图所示。 然后我们选中我们要反编译的方法,在Reflexil插件中进行反编译,如下图所示。 可以直接在“你好”的那一栏进行点击右键选择 “Edit” 进行直接的编辑 也可以在图中的这个选项卡( Instructions ) 中的表的任意一栏点击右键选择,如下图所示 你可以直接Edit编辑单个文本,也可以Replace all with code... 编辑整个class的内容。 如果你选择的是Replace all with code... 来编辑整个内容的话,你需要在编辑完成后,在界面的左下角点击Complile 做编译操作。 但是似乎这个插件的编辑整个class的功能有缺陷,有些代码识别不出来。所以还是看情况使用吧,如果Replace all with code..不行,就直接选 Edit 编辑我们所选的内容即可。  我这里将“你好” 修改为 “你好,欢迎访问我的博客,www.wxzzz.com”。如下所示 修改完成后,就万事俱备 只欠东风了。 最后一步操作,依次在Reflector项目中点击右键 -> 选择 Reflexil -> 选择 Save as.. 保存即可,这样就完成了修改代码,编译成功。如图 然后就ok了,运行看看:     标签:reflexil  反编译

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧