网站首页 > 编程文章 正文
今天有同事找我求助,想让我帮他改一些参数,但是这是参数都是用C#写在程序里面的,目前的源代码无法确定是否最新,所以不敢贸然编译替换线上的DLL,整个公司的同事都是做Java,对C#几乎不怎么了解
DotPeek和Reflector
公司生产上有一项业务,是基于C#和外部公司交互的,但是不是很稳定,经常因为超时问题导致业务异常,偶尔出现一次也还能接受,可是最近愈发频繁,客户已经无法容忍了,公司领导也是高度重视。外部公司的建议是把超时时间加长,由于项目比较老,代码管理混乱,现在也不知道目前的源代码是否和生产一致,涉及到钱的东西,也不敢冒险。所以就想着直接修改DLL。
C#的反编译工具很多,比如:DotPeek、ILSpy、Reflector等,这几款方便工具算是比较常用的,我用得比较多是DotPeek,它的功能比较强大,还原度也比较高,可以直接将DLL导出为解决方案。
但是DotPeek在修改DLL方面就显得有些力不从心了,再以前,我用过Reflector和reflexil,可是Reflector这货要花钱啊,当然,可以免费用15天.另外,Reflector还会优化代码,来演示一把
上面这段代码公司前人留下来的祖传代码,嵌套了多层if-else,如果通过Reflector反编译出来后,部分if-else会被优化掉
不得不说,Reflector还是很厉害的,但是有时候,我们就想看看最原始的代码,现在我们用DotPeek反编译试试
这效果还是挺不错的,在多年前,我还是很喜欢用Reflector和reflexil来改一些C#的DLL,后来也就慢慢喜欢用开源免费的东西了。所以接下来就要介绍ILSpy和reflexil的组合了
ILSpy+reflexil修改C# DLL
ILSpy和reflexil都是开源的,在Github上都能够找到,这里我分别下载的是ILSpy_binaries_7.1.0.6543.zip和reflexil.for.ILSpy.2.7.AIO.bin.zip,ILSpy的安装非常简单,直接解压后双击ILSpy.exe即可使用,我们来看看反编译的效果
现在,我们进入今天的主题,修改DLL,此时需要安装reflexil插件,这非常简单,直接解压reflexil.for.ILSpy.2.7.AIO.bin.zip,将解压后的Reflexil.ILSpy.Plugin.dll直接复制到ILSpy的解压根目录,然后重启ILSpy即可,此时,ILSpy会多出一个小图标
一切准备就绪了,我们开始干活了,其实,今天的目的很简单,就是要把1000毫秒改为120000毫秒
先通过ILSpy找到该类,然后点击多少设置图标按钮,下方就会出现reflexil面板
找到要修改的值,然后右键->Edit就会弹出编辑框,此时,输入想要修改的值后,点击Update按钮
此时在程序集中选中我们自己的程序集点击右键,然后选择Save As保存,把保存后的DLL覆盖现有的DLL即可
最后我们用ILSpy打开新的DLL,确认一下对应的值是否有修改到
其实这次提到的场景非常简单,一般情况下我们也只会做这些修改,当然reflexil的功能不仅仅是修改一个属性值,更多功能就需要大伙们去解锁了。
猜你喜欢
- 2024-10-20 Google Play也不安全!近千款间谍软件涌入商店
- 2024-10-20 买到矿卡应该怎么办?(买到矿卡是什么意思)
- 2024-10-20 在IAR中使用C-SPY宏进行调试(iar怎么调用函数)
- 2024-10-20 不服就来比一比,显卡常用测试软件使用教程及下载地址
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)