修改DLL如此简单

有时在项目里我们经常会用到许多不同的第三方组件、控件等。
但绝大部分优秀的第三方组件都需要注册或有使用限制,又或者在界面上显示一段丑陋的未注册信息。这对于一些小型私人软件来说是不太有必要购买组件的。
最近我使用的一个优秀的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的时候去除一下强名称就可以了。
最后贡献下Divelements.SandRibbon破解DLL
点我下载

转载于:https://www.cnblogs.com/wuxingsheng1984/archive/2009/10/14/1583127.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值