DotnetCharting控件的破解方法

 在.net使用DotNetCharting控件生成报表统计图总结 文章中,不少博友提出“1.生成的图片带超链接导向官网,如何处理呀?2.我使用这个控件后,图形可以显示出来。但是发现一个小问题。就是在图形的左上方和图形的下面都隐含了超链接,鼠标移动到这两个区域后,点击都会链接到http://www.dotnetcharting.com/。很奇怪,这是和破解有管吗?”等类似的问题,于是自己在网上找了些资料,破解了两个版本的DotNetCharting控件,现提供下载。

      1、dotnetCHARTING_V3.2_cracked.rar
      2、DotnetCharting_V4.3_cracked.rar
    
     一、破解工具及使用方法
      1、开始-所有程序-Microsoft Visual Studio .NET 2003-Visual Studio .NET 工具-Visual Studio .NET 2003 命令提示。输入ildasm。

      2、在IL DASM里面,文件-打开,选择dotnetCharting.WinForms.dll。然后文件-转储-确定,导出il文件,文件名为dotnetCHARTING。用记事本打IL文件,修改破解代码,修改完成并保存。

      3、把刚才生成的IL文件及一起释放出来的其它文件考到C:\Documents and Settings\Administrator下面。

      4、开始-所有程序-Microsoft Visual Studio .NET 2003-Visual Studio .NET 工具-Visual Studio .NET 2003 命令提示。输入ilasm /dll /res:dotnetCHARTING.res dotnetCHARTING.il生成新的dll文件。可以直接使用。

     二、破解方法
     V2.5 去掉水印方法
      该控件采用字符串加密方法实现
      经过分析,采用日志记录法记录下面的所有翻译信息,然后根据需要
      查找到目标字符信息,分析代码解决
      修改发现在am:a(ref Bitmap A_0, Graphics A_1)
      中存在调用
      if (this.ay)
       {
             this.a(ref A_0); 调用水印处理代码,去掉前面判断条件,改 IL_0030:   br【true】.s   IL_0039
       }
      先用ildasm解析出然后用ilasm组装就可以了!

      V3.0去掉水印方法
      在3.0中,需要处理以下方法
      1. private void az:a(ref Bitmap A_0, Graphics A_1);
      修改
      IL_0031:   ldfld       bool az::aq
      IL_0036:   brfalse.s   IL_003f
      为
      IL_0031:   ldfld       bool az::aq
      IL_0036:   brtrue.s   IL_003f

      2. private void Chart:a(Point A_0);
      将该方法内容清空,改为
      .method private hidebysig instance void
     a(valuetype [System.Drawing]System.Drawing.Point A_0) cil managed
     {
       // 代码大小       495 (0x1ef)
       .maxstack   4
       IL_01ee:   ret
     } // end of method Chart::a

      V3.1/V3.2/V3.3去掉水印方法
      在Chart下面有一个class
      public class Key  
      Name: dotnetCHARTING.Key
      Assembly: dotnetCHARTING, Version=3.1.1886.22330
      下面有一个internal bool a();的方法,如果返回false,则显示水印,否则变成正式版。
      修改方法很简单,具体如下:
      1、用ildasm导出IL文件dotcharting.dll
      2、定位该方法,可以用查找[V3.2/3.3]Key::a,[v3.3Asp.net]dt::a定位
      3、修改该方法代码如下:
      .method assembly hidebysig instance bool
     a() cil managed
     {
       // 代码大小       1165 (0x48d)
       .maxstack   6
       .locals init (string V_0)
       IL_0000:   ldc.i4     1
       IL_048c:   ret
     } // end of method Key::a   or dt::a[Asp.net]

      V3.3[WebForm]去掉水印方法
      ildasm导出il文件,然后打开查找[Not for production use],你会发现在
      dotnetCHARTING.WinForms.n下面有两个方法包含上面内容,直接删除该方法内的内容,只保留最后
      的ret语句,修改完成。

      V4.0[WebForm]去掉水印方法
      1、用ildasm导出IL文件dotcharting.dll
      2、定位到dotnetCHARTING.al
      internal bool a();
      Declaring Type: dotnetCHARTING.al
      Assembly: dotnetCHARTING, Version=4.0.2377.34205
      将该方法的内容清空,换成下面的语句,重新组装就可以了。
      .method assembly hidebysig instance bool
      a() cil managed
      {
           .maxstack   6
           .locals init (string V_0)
           IL_0000:   ldc.i4     1
           IL_048c:   ret
       } // end of method al::a

      保存,运行ilasm /dll /res:dotnetCHARTING.res dotnetCHARTING.il生成新的dll文件,覆盖原来文件就OK

      信息来源:http://www.cnblogs.com/midea0978/articles/64684.html


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Michael850711/archive/2009/06/22/4289189.aspx

posted @ 2010-12-06 16:33  Sue_娜  阅读(425)  评论(0编辑  收藏  举报