有时在项目里我们经常会用到许多不同的第三方组件、控件等。
但绝大部分优秀的第三方组件都需要注册或有使用限制,
又或者在界面上显示一段丑陋的未
注册信息。这对于一些小型私人软件来说是不太有必要购买组件的。
最近我使用的一个优秀的
SL
控件库
Divelements.SandRibbon
也需要收费注册,
使用限制就是
在
Ribbon
界面上显示了未注册字样。
项目已经开发完成了,但这个
“
未注册
”
就要伴随程序部署了吗?
下面我来讲解一下如何把这些消息去除。
首先下载
Reflector
,反编译
DLL
,研究
DLL
的程序内容。
反编译出来的代码包括了
Divelements.Licensing
等几个命名空间,
查看
Licensing
命名空间中
的类,发现类名很奇怪,出现
“x82d9ac98ca71b857”
这样的名称,根本看不懂!
看不懂没关系,
这是该
DLL
代码混淆的结果,
许多类名和变量名都已经被混淆器改成了这种
难以理解的名称。
不过幸好各种逻辑代码依然完好地反编译了出来。
关于消除未注册字样的方法有很多,最直观的就是修改注册验证。
不过由于该组件仍处于
DEMO
状态,就算注册了,也会出现
DEMO
的字样,所以我直接修
改了
“
未注册
”
为空白字符串。
具体的修改方法如下:
下载
Reflector
插件
Reflexil
,并添加到
Relector
中。
在左边的对象树中打开需要修改的类,再在
Reflexil
中找到需要修改的地方,直接修改或删
除就可以了
最后选择在对象树中选择
DLL
,并在
Reflexil
的
Save As
一下就可以了。
需要注意一下的是,一些
DLL
拥有强名称,重新应用的时候可能会出现错误,这时需要在
Save As
的时候去除一下强名称就可以了。