反编译并修改已生成的asp.net 网站

来源:互联网 发布:淘宝佣金多少 编辑:程序博客网 时间:2024/06/06 09:26

前言:前几天客户的网站报了个错,但由于站版本较老,苦于没有源码故迟迟不能查出原因,因而考虑用反编译的方式找到源码进行重新生成。

分析:由于原作者将多个CS文件打包成一个DLL文件,因此用替换DLL的方式修改Bug工作量太大;故用以下方法实现。

方法:步骤:

  1. 找出出错的aspx页面(一般用IE的开发人员工具调试就能搞定)。
  2. 根据aspx页面第一行inherits给出的值,在BIN目录下找到所引用的DLL。
  3.  用 .NET Reflector 7.0.0.420 Crack 将上面的DLL反编译,并找出出错页的代码 备用。
  4. 在VS中建一个项目(.net版本需与网站一致)。
  5. 将网站的所有文件复制到项目内,点击资源管理器中的显示文件,并将网站的所有文件及文件夹包括进来。
  6. 将网站BIN下的所有dll加到项目的引用内。
  7. 新建一个错误面对应的aspx.cs文件。
  8. 将出错aspx页内的第一行修改,如页面 InPutMarks_Mxx.aspx 内的第一行为
    <%@ page language="C#" autoeventwireup="true" EnableEventValidation="false"CodeBehind="InPutMarks_Mxx.aspx.cs"  。inherits="kqtj.kqtj_caocun.InPutMarks_Mxx" %>
     将其中的CodeBehind的值重新指向上一步中的CS文件,将inherits的值改为当前项目的引用(新建一个aspx页后,从中就能看出该填什么)。
  9. 将第三步中反编译的代码复制到第7步中建的CS内,添加些USING 。
  10. 现在就可以像调试自己的代码一样,下断点,等等操作了;这样就轻易找出错误点,并改好代码。
  11. 将改好的aspx文件和其对应的aspx.CS文件复制,并替换原站点内的文件。
  12. OK,大功告成。

 

原创粉丝点击