posts - 18,  comments - 21,  trackbacks - 0

别鄙视我,国情嘛。

Mark一下,免得30天后又忘了。改天有空研究一下多Agent的效率。

IncrediBuild是一个很强的分布式编译工具,可以明显缩短大型项目编译时间,但是价格不菲。对于我这样的穷人来说,只能使用试用版。试用期限是30天,30天到了即使删掉再安装仍然不能使用。给Xoreax写信申请延长试用期限,也没给答复,估计针对个人他们根本就不让延长试用。

令人郁闷的是,网上能找到的所有破解都是无效的。即使界面显示已经破解,但是时间一到,功能根本不正常。根本不会把编译任务分发给别人,只能本机编译了。

IncrediBuild 2.40的License有2个文件CoordLicense.dat和AgentLicense.dat,分别位于Coordinator和Agent安装目录下,这两个文件都是RSA数字签名过的,除非修改.exe文件中的解密密钥,否则没法伪造License文件。但既然网上能找到的破解都无法正常使用,所以肯定不容易搞定。对于3.20应该也大同小异。

IncrediBuild在第一次运行的时候会向注册表中写入软件到期的时间。

2.40: HKCR\Interface\{E9B0227F-437C-4F7A-86D9-2676B83F359F}\ProxyStubClsid32 = {M1-M2-M3-T1-T2}

3.20: HKCR\Interface\{B7348B5D-B65D-4BF5-AF63-A3135249ACA7}\ProxyStubClsid32 = {M1-M2-M3-T1-T2}

卸载软件的时候并不会卸载这个注册表项,所以重新安装仍然不能使用。最简单的办法是卸载软件后手动删除这个注册表项,然后重新安装,就又可以继续试用。还有一种办法就是,我们定期更新上面这个注册表项的值,把时间往后推移。还好该软件时间算法并不复杂,很容易算出来。

比如说到期时间是2008.5.30日23:59:59,可以写两行简单的代码:

COleDateTime DateTime(2008, 5, 30, 23, 59, 59);

DATE Date = (DATE)DateTime;

此时Date的值是39598.999988425923 (0x37BA E7FFDF55E340)

T1:37BA

T2:E7FFDF55E340

M1 = 37 * BA * E7 * FF = 23EAEB06

M2 = DF * 55 = 4A0B

M3 = E3 * 40 = 38C0

这样我们就可以把注册表中上述键值改为:{23EAEB06-4A0B-38C0-37BA-E7FFDF55E340}

这样,软件到了2008.5.31 00:00:00才会过期。

posted on 2009-10-12 13:02 大日如来 阅读(10631) 评论(0)  编辑 收藏 引用 所属分类: 杂记

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(2)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜