Reflector反编译插件Reflexil图文使用教程
- 时间:2015年04月02日 15:20:07 来源:魔法猪系统重装大师官网 人气:8903
Reflexil 它是Reflector的一个插件,结合Reflector,可以进行DLL代码注入等工作,实践证明完全可用,方便开发人员对.NET程序进行修改;可以作为一个Reflector插件修改程序集的IL并保存到磁盘文件,也可以在自己的.NET程序中调用进行更为灵活的.NET程序集修改。
工具获取:1.可以直接到Reflector下载:http://www.cr173.com/soft/62031.html
2.打开Reflector, Tool=>Add-ins=>Add-In Gallery, 跳转到 上面的下载地址
下载好Reflexil后,在Add-ins 界面,点"+",选择Reflexil.Reflector.AIO.dll,然后Close
现在在Tool中会多一个Reflexil选项
它的界面
用法:
把我刚才写的Hello world拖进Reflector,我们选中程序集,命名空间,类命,方法, Reflexil的界面都是不一样的.
这里可以知道,我们能注入类,接口,枚举,方法,等,也可以重命名,删除.
现在我们来添加一个方法试试,选择Inject method Item Name:Demo(此时只能声明无参,无返回值的方法,后面会讲什么添加这些)
点ok会给出警告
意思就是,做大改动(注入,删除,重命名)时你是看不见结果,让你保存一次在导入新的dll文件,那就保存一次
保存好后,把新dll拖到Reflector中,就会发现在 Programe中多了一个Dmeo方法.
现在来给Demo 写实现
选择Demo 后右边的界面为:
选择Main:
instructions 中是IL指令, 高玩可以直接修改添加指令,但不是高玩咋办?
我们选择Replace all with code... 替换所以代码.
不过在这之前 先在Parameters添加一个参数string name,并在Attributes 将Return type设为stirng
我再次点击Replace all with code... 代码已经更新为
修改完成后,点compile 如果没有错误,就会生成IL指令,点ok就行
现在在来修改一下Main方法,调用Demo
代码已经改完,现在保存看看执行效果:
原程序:
修改后程序: