使用ILSpy软件反编译.Net应用程序的方法及注意事项

时间:2023-03-08 16:35:29

今天遇到之前同事写的代码没有源码了,但是客户要在原来的基础上修改程序!好在没有做加壳处理,所以就用了ILSpy软件进行反编译!下面把步骤及遇到的问题写下来:

1.打开ILSpy软件,点击File  ,  打开,选择所要反编译的.exe文件,点击确定。

使用ILSpy软件反编译.Net应用程序的方法及注意事项

2.选中要保存的反编译项目名称,点击保存代码。

使用ILSpy软件反编译.Net应用程序的方法及注意事项

3.完成

使用ILSpy软件反编译.Net应用程序的方法及注意事项

4. 通过以上步骤即可得到反编译的项目文件,接下来用VS打开刚刚反编译出来的项目文件!

使用ILSpy软件反编译.Net应用程序的方法及注意事项

5.注意,反编译出来的dll,及窗体文件都是在每个文件夹下面的,且是每个dll对应一个,如下图:

使用ILSpy软件反编译.Net应用程序的方法及注意事项

下面主要就反编译中出现的一些错误做下说明:

A.对应上面的如果是dll反编译出来的,如果是公司常用的dll,就可以直接把该项目中的文件夹删除,然后把原有的dll添加引用即可;

B.在打开窗体设计时,多数情况下会出现以下错误:

使用ILSpy软件反编译.Net应用程序的方法及注意事项

双击错误即可跳转到资源文件错误的代码行中去,可以根据上面提示的行号进行查找,找到后注释即可!

C.在处理完以上错误后,往窗体中添加控件时可能会引发以下错误error CS1508:

使用ILSpy软件反编译.Net应用程序的方法及注意事项

解决方法:在解决方案资源管理器中找到对应的窗体如名为X,在这个窗体的附近会新生成一个X.resoures,选中,右键,从项目中排除,再编译即可!如下图:

使用ILSpy软件反编译.Net应用程序的方法及注意事项

由于本人知识有限,如文中有说法错误之处,还望各位大神留言指出,谢谢!