使用dnSpy对无源码EXE或DLL进行反编译并且修改(举例:#陈依涵#身高计算器)
背景
总有一些特殊情况,我们没有源码,但是某个C#程序集dll或者可执行程序exe影响到我们代码的正常运行,我们希望得到源码,能改掉或者修改某些bug,但是苦于没有源码,这个时候可以用dnspy进行源码阅读和篡改重新编译。
示例
为了增加趣味性,我们这里先介绍一下一个女大学生陈依涵,号称软件届的手工耿,据说她老师布置作业需要每天发布一款精心制作的软件,于是从上个月25开始,陈童鞋几乎就没怎么断更。
她的代表作 《身高计算器》就是其中之一,被评价是“市面上最准的计算器”、“完全0误差”的身高计算器!
身高计算器
网友调侃摘录
截止目前2022年7月3日为止,陈童鞋获赞近五百万,并且俘获了72w粉丝,俨然已经是个小网红。
示例开始
我们现在模拟陈依涵的代表作《身高计算器》,使用winform制作了一个身高计算的程序,我们用dnspy在没有源码的情况下,制作体重计算程序。
步骤
1、获取《身高计算》软件,我上传到了蓝奏云,https://wwm.lanzoul.com/iyZRR07bemfa
2、下载dnspy,地址:https://github.com/dnSpy/dnSpy
3、打开dnspy,将exe拖动到dnspy主界面
4、编辑类,修改关键代码
这里我们把calcName改成:体重,点击编译
5、保存,这一步如果不保存,则不会对exe或者dll进行修改
6、效果
最终思维发散
我们再把《身高计算》程序改成别的版本,增加熟练度。
1-2分钟全改完了,如果陈依涵看到这篇博客,是不是就完全不用写代码,也能更简单的交作业了。