日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

DundasWebChart 5.5 破解续.

發(fā)布時(shí)間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DundasWebChart 5.5 破解续. 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

上篇介紹的破解方法可以去除圖片中的水印并且不穩(wěn)定,但是無(wú)法去除falsh中的水印.
后來(lái)繼續(xù)分析出了其破解方法,可以完全實(shí)現(xiàn)DundasWebChart的破解,方法如下:
1.分析Dundas.Charting.WebControl.ChartLicenseProvider中方法 iskeyvalid

protected?virtual?bool?IsKeyValid(string?key,?Type?type)
{
??????
????????????
if?(((textArray1.Length?>=?2)?&&?(textArray1[1]?==?Chart.b))?&&?(textArray1[1]?==?this.a()))
????????????
{
??
//將返回的false?改為?true
??????????????????return?false;
????????????}

??????}

??????
return?true;
}


2.取消繪畫(huà)的水印.

Dundas.Charting.WebControl.ChartPicture 中方法

public?void?Paint(Graphics?graph,?bool?paintTopLevelElementOnly,?RenderingType?renderingType,?XmlTextWriter?svgTextWriter,?Stream?flashStream,?string?documentTitle,?bool?resizable,?bool?preserveAspectRatio)
{
?
?????
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();
??????????????????}

????????????}

?????
//由于為真,會(huì)每次都會(huì)重畫(huà)水印,設(shè)置為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_0aff:??ldarg.0
??????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,
??????????????????

???????? 重新進(jìn)行編譯 ilasm /dll /RESOURCE=DundasWebChart.res DundasWebChart.il?
?OK,大功告成
/Files/wangzhq/DundasWebChart2006-11-15.rar

與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的DundasWebChart 5.5 破解续.的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。