软件实施运维过程中经常会遇见一些问题——有软件,无代码。这个时候软件的继续开发和调试以及问题排查就成了问题。dnspy可以解决以上问题,它是反编译工具,用于调试没有源码的.net 程序。
https://github.com/dnSpy/dnSpy
是一款.Net平台的集反编译器、程序集编辑器和调试器的利器
下载
下载方式:http://www.winwin7.com/soft/72059.html。
dnSpy源码:https://github.com/dnSpy/dnSpy.git
反编译
文件-打开-找到对应的DLL/exe文件即可。或者直接将dll/exe文件直接拖动过来也可以。
我们以sqlsugar为例,反编译如下图所示
修改代码
在代码处,右键点击——编译方法。会弹出一个窗口,我们可以在上面进行修改。
注意:选择编辑类也可以的,但是为了避免不必要的麻烦,选择编辑方法。意思是编辑当前方法,开销最小。
修改完,点击下面的编译就可以。
这个时候,dll还没有生成。需要操作“文件-保存模块”,会弹出一个窗体。
可以选择另一个路径,默认是覆盖,然后点击确定,则一个新的dll就生成了。
调试
dnspy的调试方法和vs类似,打断点,选择.exe可执行文件.
点击F5,开始调试
会弹窗,直接确认就行。
下面的调试信息可以看到实际的值
没有vs调试那么方便,但是已经能够解决很多问题