别鄙视我,国情嘛。
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
大日如来 阅读(10977)
评论(0) 编辑 收藏 引用 所属分类:
杂记