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