Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功

http://www.cnblogs.com/wangzhq/archive/2006/10/13/528072.aspx

Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功

1.       工具准备

.net FrameWork SDK 2.0

ILDASM反编译工具

ILASM重新编译工具

2.       安装Dundas Chart for ASP.NET - Enterprise Eval (VS2005)

3.       Reflector.exe 找开 DundasWebChart 分析其水印的方法

public void Paint(Graphics graph, bool paintTopLevelElementOnly, RenderingType renderingType, XmlTextWriter svgTextWriter, Stream flashStream, string documentTitle, bool resizable, bool preserveAspectRatio)

{

     ………………………..

           //注意:不管如何都会在Chart是绘制水印字符串,这很简单,this.e=true 改为this.e=false;就可以了.

            this.e = true;

            if (this.e)

            {

                  StringFormat format1 = new StringFormat();

                  format1.Alignment = StringAlignment.Center;

                  format1.LineAlignment = StringAlignment.Center;

                  SolidBrush brush1 = new SolidBrush(Color.FromArgb(40, 0, 0, 0xaf));

                  SolidBrush brush2 = new SolidBrush(Color.FromArgb(40, 200, 200, 200));

                  Font font1 = new Font(ChartPicture.a(), 8f);

                  SizeF ef3 = this.a.GetRelativeSize(new SizeF(2f, 2f));

                            //水印字符串

                  string text1 = cP.a("\u14ad\u14de\u14d7\u14cd\u14ca\u14dc\u1489\u14ac\u14d1\u14ca\u14db\u14dd\u1489\u1496\u1489\u14aa\u14bc\u14b9\u1497\u14b7\u14ae\u14bd\u1489\u14ae\u14d7\u14dd\u14ce\u14db\u14d9\u14db\u14d2\u14dc\u14ce\u1489\u14ae\u14cd\u14d2\u14dd\u14d2\u14d8\u14d7\u1476\u1473\u14ae\u14df\u14ca\u14d5\u14de\u14ca\u14dd\u14d2\u14d8\u14d7\u1489\u14b6\u14d8\u14cd\u14ce\u1489\u14ae\u14d7\u14ca\u14cb\u14d5\u14ce\u14cd\u1495\u1489\u14cf\u14d8\u14db\u1489\u14dd\u14ce\u14dc\u14dd\u14d2\u14d7\u14d0\u1489\u14d9\u14de\u14db\u14d9\u14d8\u14dc\u14ce\u14dc\u1489\u14d8\u14d7\u14d5\u14e2\u1476\u1473\u1491\u14ac\u1492\u1489\u149b\u1499\u1499\u149f\u1489\u14ad\u14de\u14d7\u14cd\u14ca\u14dc\u1489\u14bc\u14d8\u14cf\u14dd\u14e0\u14ca\u14db\u14ce\u1495\u1489\u14e0\u14e0\u14e0\u1497\u14cd\u14de\u14d7\u14cd\u14ca\u14dc\u1497\u14cc\u14d8\u14d6");

                  this.a.a(text1, font1, brush2, new RectangleF(0f, 0f, 100f, 100f), format1);

                  this.a.a(text1, font1, brush1, new RectangleF(0f, 0f, 100f - ef3.Width, 100f - ef3.Height), format1);

 …………………………   

      }

 

4.       打开ILDASM 载入DundasWebChart.dll文件,然后转储到指定文件夹中

打开DundasWebchart.il 找到绘画水印的位置

如下:

// IL_0b1a: ldc.i4.0=(this.e=true); //将其改为IL_0b1a: ldc.i4.1

IL_0b1a: ldc.i4.0

IL_0b1b: callvirt   instance void [System.Drawing]System.Drawing.StringFormat::set_Alignment(valuetype [System.Drawing]System.Drawing.StringAlignment)

      IL_0b20: ldloc.s    V_24

      IL_0b22: ldc.i4.1

保存,重新编译
ilasm /dll /RESOURCE=DundasWebChart.res DundasWebChart.il
覆盖到D:\Program Files\Dundas Software\Charting\WebControlVS2005\Samples\bin目录

 
DundasWebChart.rar

posted @ 2006-11-21 10:35  永不言败  阅读(1570)  评论(0编辑  收藏  举报