DundasWebChart, ASP.net Version=5.0.0.1692研究

DundasWebChart V5.0 ASP.net Ent(VS2005)是一个不错的图表控件,使用很广泛,详细资料可以访问http://www.dundas.com
与以前的版本一样,5.0版本对于试用版的主要限制就是水印,如何去掉是本文的主要目的之一。
水印中的字符串并不是简单的保存在IL文件中,因此首先要先一下其中的字符串加密方法,很快可以定位到DC01.bJ这个对象中,加密方法大致如下结构:static String DecryptString(String s),通常要要写一个反函数还是有些困难的话,就可以尝试下面思路,将加密字符串和解密后的用个日志文件记录下来就可以了,通常可以改写一下IL文件,大致如下:
public static String DecryptString(String s)
==〉
public static String OldDecryptString(String s)
//壳,包装原来的方法,顺便记录日志
public static String DecryptString(String s){
    String cstr=OldDecryptString(s);
    LogString(FormatString(s)+"==>"+cstr)
    return OldDecryptString(s);
}
public static void LogString(String s){
    //将s写入文件
}
具体的实现代码就不列出了,通常运行,最后发现特征字符串对应到方法
public void Paint(Graphics graph, bool paintTopLevelElementOnly, RenderingType renderingType, XmlTextWriter svgTextWriter, Stream flashStream, string documentTitle, bool resizable, bool preserveAspectRatio);
 
Declaring Type: Dundas.Charting.WebControl.ChartPicture
Assembly: DundasWebChart, Version=5.0.0.1692
发现代码大致如下:
boolean flag=true;
if(flag) { //显示水印}
这下就很方便了,大致修改下面代码就OK
IL_0abb:  ldc.i4.1  ==〉 ldv.i4.0
IL_0abc:  stfld      bool Dundas.Charting.WebControl.ChartPicture::e
顺便去掉public token,用Ilasm组装完成,很简单,就不提供下载文件了。
posted @ 2005-11-15 16:24  在路上...  阅读(4842)  评论(41编辑  收藏  举报