使用dnSpy对无源码EXE或DLL进行反编译并且修改

背景

      总有一些特殊情况,我们没有源码,但是某个C#程序集dll或者可执行程序exe影响到我们代码的正常运行,我们希望得到源码,能改掉或者修改某些bug,但是苦于没有源码,这个时候可以用dnspy进行源码阅读和篡改重新编译。

示例

    为了增加趣味性,我们这里先介绍一下一个女大学生陈依涵,号称软件届的手工耿,据说她老师布置作业需要每天发布一款精心制作的软件,于是从上个月25开始,陈童鞋几乎就没怎么断更。

她的代表作 《身高计算器》就是其中之一,被评价是“市面上最准的计算器”、“完全0误差”的身高计算器!

身高计算器

 

网友调侃摘录

 

截止目前2022年7月3日为止,陈童鞋获赞近五百万,并且俘获了72w粉丝,俨然已经是个小网红。

 

 

示例开始

我们现在模拟陈依涵的代表作《身高计算器》,使用winform制作了一个身高计算的程序,我们用dnspy在没有源码的情况下,制作体重计算程序。

 

 

步骤

1、获取《身高计算》软件,我上传到了蓝奏云,//wwm.lanzoul.com/iyZRR07bemfa

2、下载dnspy,地址://github.com/dnSpy/dnSpy

3、打开dnspy,将exe拖动到dnspy主界面

4、编辑类,修改关键代码

 

 这里我们把calcName改成:体重,点击编译

5、保存,这一步如果不保存,则不会对exe或者dll进行修改

 

 

6、效果