破解TeeChart

1)某一天,当我们突然发现打开使用了tchart的控件的应用程序时蹦出如下对话框

\

2)控件过了试用期了!!!,不用慌张,我们一步一步来解除这个使用限制。用的是.net平台的程序嘛,源码都是可见的,也许我们很容易从源码找到解决方案哦,以下要用到一个可以反编译.net程序的工具Reflector

3)打开Relecotor ,加载我们使用tchart控件引用的程序集,也就是直接打开tchart.dll文件

\

4)找到TChart类,为啥要从找这个类开始???因为我们使用TeeChart控件就是从实例化这个类开始的嘛,然后查看其构造函数.cor()

\

5)没看出啥名堂,继续查看两个初始化的函数,追踪到InitVars()函数,结果如下

\

6)看到问题了不???弹窗就是从这里出来的,有人说,我知道怎么做了,注释掉那行弹窗代码不就得了。确实是的,注释掉了就木的弹窗了,可是后面还有水印呀,这个不能完全解决问题的。我们该继续追踪evalExpired的值才对,evalExpired是chart的一个成员,那就去Chart类看看……

\

7)继续看initVar();

\

8) 看到了吧,要根本解决这个问题还得去Utils下的IsExpired函数找,我们来看看里面都写了些啥

\ \

9)现在已经很清楚了,解决的办法有两种,一种是修改这里程序,全部注释掉直接返回false,另一种是不用该程序的,修改下注册表就ok了。其实后面一种方法我觉得是比较好的,前面一种方法有点麻烦,该了之后还要重新编译,还要解决强签名的问题,后面的方法看只需要一次改注册表就可以相对永久的免费使用了。

10)第一次启动程序时注册表中写入的是当前日期的信息,前几行程序的意思就是试用期是否已经超过40天,如果我们把启动日期改为n年后的某一天,那么我们岂不是可以一直在试用期?

11)再看最后几行代码,我们只看年,str7代表年,也就是注册表中95和-48之间的数字,如下图代表12年,我们若把12改为92,也就是一直可以用到2092年了,一生用够了,哈哈,就这样一次破解了tchart.net了

\

哦,强调下,修改的注册表键值为

HKEY_CLASSES_ROOT\CLSID\{CC7128D5-4CA2-4668-B37D-3819F6DCC2A3}\TypeLib

posted @ 2023-09-20 14:02  lingmin210  阅读(323)  评论(0编辑  收藏  举报