现在的位置: 首页 > 综合 > 正文

DotnetCharting控件的破解方法

2013年11月30日 ⁄ 综合 ⁄ 共 2338字 ⁄ 字号 评论关闭

DotnetCharting控件的破解方法

“1.生成的图片带超链接导向官网,如何处理呀?2.我使用这个控件后,图形可以显示出来。但是发现一个小问题。就是在图形的左上方和图形的下面都隐含了超链接,鼠标移动到这两个区域后,点击都会链接到http://www.dotnetcharting.com/
。很奇怪,这是和破解
有管吗?”
   
    一、破解工具及使用方法

    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

抱歉!评论已关闭.