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

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

分析:由于原作者将多个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,大功告成。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值