在.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