DundasWebChart 5.5 破解续.
生活随笔
收集整理的這篇文章主要介紹了
DundasWebChart 5.5 破解续.
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功
上篇介紹的破解方法可以去除圖片中的水印并且不穩定,但是無法去除falsh中的水印.
后來繼續分析出了其破解方法,可以完全實現DundasWebChart的破解,方法如下:
1.分析Dundas.Charting.WebControl.ChartLicenseProvider中方法 iskeyvalid
{
??????
????????????if?(((textArray1.Length?>=?2)?&&?(textArray1[1]?==?Chart.b))?&&?(textArray1[1]?==?this.a()))
????????????{
??//將返回的false?改為?true
??????????????????return?false;
????????????}
??????}
??????return?true;
}
2.取消繪畫的水印.
Dundas.Charting.WebControl.ChartPicture 中方法
{
?
?????this.OnAfterPaint(new?ChartPaintEventArgs(this.a,?this.a,?new?ElementPosition(0f,?0f,?100f,?100f)));
????????????foreach?(ChartArea?area9?in?this.a)
????????????{
??????????????????if?(area9.Visible)
??????????????????{
????????????????????????area9.a();
????????????????????????area9.d();
??????????????????}
????????????}
?????//由于為真,會每次都會重畫水印,設置為false?即可.?將this.e=true;改為?graph.e=false;
????????????this.e?=?true;
????????????if?(graph.e)
????????????{
??????????????????StringFormat?format1?=?new?StringFormat();
??????????????????format1.Alignment?=?StringAlignment.Near;
??????????????????format1.LineAlignment?=?StringAlignment.Near;
??????????????????SolidBrush?brush1?=?new?SolidBrush(Color.FromArgb(40,?1,?1,?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));
??.
}
利用 ildasm? 反編輯程序集.
1.修改 IsKeyValid 的返回值
?
?.method?family?hidebysig?newslot?virtual???????????instance?bool??IsKeyValid(string?key,
????????????????????????????????????class?[mscorlib]System.Type?'type')?cil?managed
??{
????.
????IL_0091:??ldc.i4.1
????IL_0092:??ret
????IL_0093:??ldc.i4.0???//將其修改為?ldc.i4.1
????IL_0094:??ret
????IL_0095:??ldc.i4.0???//將其修改為?ldc.i4.1
????IL_0096:??ret
??}?
2.修改Paint 方法.
找到方法位置如下:
??????IL_0b00:??ldc.i4.1
??????IL_0b01:??stfld??????bool?Dundas.Charting.WebControl.ChartPicture::e
??????IL_0b06:??ldarg.0
??????IL_0b07:??ldfld??????bool?Dundas.Charting.WebControl.ChartPicture::e
??????IL_0b0c:??brfalse????IL_0bfb
??????IL_0b11:??newobj?????instance?void?[System.Drawing]System.Drawing.StringFormat::.ctor()
??????IL_0b16:??stloc.s????V_24
??????IL_0b18:??ldloc.s????V_24
??????IL_0b1a:??ldc.i4.1
??????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
??????IL_0b23:??callvirt???instance?void?[System.Drawing]System.Drawing.StringFormat::set_LineAlignment(valuetype?[System.Drawing]System.Drawing.StringAlignment)
??????IL_0b28:??ldc.i4.s???40
??????IL_0b2a:??ldc.i4.0
??????IL_0b2b:??ldc.i4.0
??????IL_0b2c:??ldc.i4?????0xaf
??????IL_0b31:??call???????valuetype?[System.Drawing]System.Drawing.Color?[System.Drawing]System.Drawing.Color::FromArgb(int32,
????????????????
?????將以上代碼修改為下面的il 代碼.
?
IL_0aff:??ldarg.1??????IL_0b00:??ldc.i4.0
??????IL_0b01:??stfld??????bool?Dundas.Charting.WebControl.ChartPicture::e
??????IL_0b06:??ldarg.1
??????IL_0b07:??ldfld??????bool?Dundas.Charting.WebControl.ChartPicture::e
??????IL_0b0c:??brfalse????IL_0bfb
??????
??????IL_0b11:??newobj?????instance?void?[System.Drawing]System.Drawing.StringFormat::.ctor()
??????IL_0b16:??stloc.s????V_24
??????IL_0b18:??ldloc.s????V_24
??????//破解方法在此?
??????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.0
??????IL_0b23:??callvirt???instance?void?[System.Drawing]System.Drawing.StringFormat::set_LineAlignment(valuetype?[System.Drawing]System.Drawing.StringAlignment)
??????IL_0b28:??ldc.i4.s???40
??????IL_0b2a:??ldc.i4.1
??????IL_0b2b:??ldc.i4.1
??????IL_0b2c:??ldc.i4?????0xaf
??????IL_0b31:??call???????valuetype?[System.Drawing]System.Drawing.Color?[System.Drawing]System.Drawing.Color::FromArgb(int32,
??????????????????
???????? 重新進行編譯 ilasm /dll /RESOURCE=DundasWebChart.res DundasWebChart.il?
?OK,大功告成
/Files/wangzhq/DundasWebChart2006-11-15.rar
總結
以上是生活随笔為你收集整理的DundasWebChart 5.5 破解续.的全部內容,希望文章能夠幫你解決所遇到的問題。