DotnetCharting控件的破解方法

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


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Michael850711/archive/2009/06/22/4289189.aspx

转载于:https://www.cnblogs.com/Sue_/articles/1897883.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android开发利器之ActivityTracker

版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/113 Android开发利器之ActivityTracker 今天在群里面划水,有个小伙伴问到一个问题,”刚进公司 清单文件的activity 较…

js css模仿打字效果

1.效果 2.源码 <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><style type"text/css">#myDiv{display: inline-block;width:500px;height:300px;background-color:rgba(0,0,0,0.3);colo…

iframe 高度根据子页面来确定

标题描述一、解决方法解决代码二、关于高度问题简单讲一下jquery中的 height()&#xff0c;innerHeight()、outHeight()&#xff0c;js中的offsetHeight、clientHeight、scrollHeight。如何获取没有给出高度的元素的高度&#xff1f;详细介绍offsetHeight,clientHeight,scrollH…

避免许多if块进行验证检查

在某些情况下&#xff0c;我们需要先验证输入数据&#xff0c;然后再将其发送到业务逻辑层进行处理&#xff0c;计算等。这种验证在大多数情况下是孤立完成的&#xff0c;或者可能包括与外部数据或其他输入的某些交叉检查。 看下面的示例&#xff0c;该示例验证用户输入的注册数…

谷歌逐步取消对IE6的支持

1月30日&#xff0c;据国外媒体报道&#xff0c;谷歌周五宣布&#xff0c;截至3月1日&#xff0c;谷歌将不再其谷歌Docs和谷歌网站服务支持IE6。如果IE用户想使用那些产品&#xff0c;他们必须至少升级到版本7&#xff0c;如同“其他许多公司已经停止支持如Internet Explorer 6…

国内手机号正则表达式

java的写法&#xff1a; String pattern "^((1[358][0-9])|(14[57])|(17[0678])|(19[7]))\\d{8}$"; javascript的写法&#xff1a; var pattern /^((1[358][0-9])|(14[57])|(17[0678])|(19[7]))\d{8}$/; 更多专业前端知识&#xff0c;请上 【猿2048】www.mk2048.co…

layui 子页面写弹出框覆盖父页面,以及给弹框中的表单赋值

咋说呢&#xff0c;因为对 layui 不太熟悉&#xff0c;这个弹出框搞了好久&#xff0c;看了好多解决方案&#xff0c;大致尝试了一下其中几种&#xff0c;在坑中无法自拔。。。总之终于搞出来了&#xff0c;在这里分享一下我的笔记。 着急的直接 戳这里 看解决代码。 尝试 1、…

html实现文字垂直居中且设置间隔

使用table和table-call布局 将表格作为一个table表&#xff0c;使用table-cell定义每个单元格的布局为table-cell, 抛出display的有效值 单元格中间的间隔使用 border-spacing:10px; border-collapse: separate;定义单元格vertical-align: middle; display: table-cell;代码源码…

入世与出世

同情恰好有两种。一种同情怯懦感伤&#xff0c;实际上只是心灵的焦灼。看到别人的不幸&#xff0c;急于尽快脱身出来&#xff0c;以免受到感动&#xff0c;陷入难堪的境地。这种同情根本不是对别人的痛苦抱有同感&#xff0c;而只是本能地予以抗拒&#xff0c;免得它触及自己的…

Hibernate隐藏的宝石:pooled-lo优化器

介绍 在这篇文章中&#xff0c;我们将揭示一个序列标识符生成器&#xff0c;​​它结合了标识符分配效率和与其他外部系统的互操作性&#xff08;同时访问底层数据库系统&#xff09;。 传统上&#xff0c;有两种序列标识符策略可供选择。 序列标识符&#xff0c;对于每个新值…

vue inheritAttrs、$attrs和$listeners使用

inheritAttrs、$attrs和$listeners使用场景&#xff1a; 组件传值&#xff0c;尤其是祖孙组件有跨度的传值。 &#xff08;1&#xff09;inheritAttrs 属性说明&#xff1a;https://cn.vuejs.org/v2/api/#inheritAttrs 说明比较晦涩。 组件传值一般是通过props传值的。inhe…

鼠标滚轮事件及解决滚轮事件多次触发问题

转载&#xff1a;https://www.cnblogs.com/jjxhp/p/11736066.html#_label0 一、滚轮事件的 js 写法 二、jQuery写法 三、参考 四、滚轮事件滚动过快&#xff0c;事件触发两次 一、js //判断鼠标滚轮滚动方向 if (window.addEventListener){ //FF,火狐浏览器会识别该方法wind…

Leetcode 2976. Minimum Cost to Convert String I

Leetcode 2976. Minimum Cost to Convert String I 1. 解题思路2. 代码实现 题目链接&#xff1a;2976. Minimum Cost to Convert String I 1. 解题思路 这道题思路上其实是非常直接的&#xff0c;本质上就是给出有向图之后&#xff0c;求出有向图上任意两点之间的最短距离&…

仍不切换到Java 8的6个理由

Java 8很棒。 期。 但是……在我们有机会玩耍并玩弄它之后&#xff0c;就该退出了&#xff0c;避免吃盐。 所有的好东西都是有代价的&#xff0c;在这篇文章中&#xff0c;我将分享Java 8的主要痛点。请确保在升级和放弃7之前您已经意识到了这些痛点。 1.并行流实际上会使您减…

硬币回收价格

1957年 1分 1元1960年 1分 80元 1962年 1分 30元1965年 1分 350元1966年 1分 180元1967年 1分 350元1968年 1分 88元1969年 1分 150元1977年 1分 320元1981年 1分 5元1988年 1分 300元1989年 1分 150元1990年 1分 180元1995年 1分 0.5元1955年 2分 15元1957年 2分 2元1958年 …

13 字符串相关函数

# ### 字符串相关函数 # *capitalize 字符串首字母大写 strvar "this is a dog" res strvar.capitalize() print(res)# *title 每个单词的首字母大写 (非字母隔开的单词) strvar "this is123a dog" res strvar.title() print(res)# *upper 将所有字母变…

Vue 生命周期LIFECYCLE是8个吗?

vue生命周期钩子个数是&#xff1a;11个。 export const LIFECYCLE_HOOKS [beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed,activated,deactivated,errorCaptured] github地址&#xff1a; https://github.com/vuejs/vue/blob/dev/…

鼠标滚轮切屏效果

某天发现一个网站《北京新鸿儒世纪网络技术有限公司》&#xff0c;一开始打开&#xff0c;哇&#xff0c;好简单啊&#xff0c;特别是首页&#xff0c;就一张图&#xff0c;后来发现里面有挺多小细节的&#xff0c;比如&#xff1a;做了媒体响应式、滚轮切屏&#xff08;第一次…

JavaFX技巧11:更新只读属性

自定义控件通常具有“只读”属性。 这意味着不能从控件外部进行设置&#xff0c;甚至不能从自己的皮肤类别进行设置。 通常&#xff0c;控件的行为会导致更改只读属性。 在JavaFX中&#xff0c;可以在控件本身和皮肤中实现此行为。 因此&#xff0c;有时我们最终希望通过皮肤来…

DVT和ADVT - 为数不多的DICOM测试工具说明AND下载

1、 前言做DICOM研究、开发和应用的人&#xff0c;最头疼的就是没有充分的工具和手段来进行测试&#xff0c;所以无法知道自己的程序、软件是否正确&#xff0c;能否正确地与其他设备进行DICOM连接&#xff1f;连接出错的原因在哪里&#xff1f;改正的话该从哪里下手&#xff1…