几何尺寸与公差论坛

 找回密码
 注册
查看: 5833|回复: 7

【转帖】IncrediBuild 3.10 试用时间复位工具

[复制链接]
发表于 2008-6-28 08:28:16 | 显示全部楼层 |阅读模式
找了很久没找到IB 3.10的Crack,最后花了一夜把IncrediBuild的试用时间搞定了,并写了个小工具,希望对需要的朋友们有所帮助。
使用中有问题请给我留言。

2007-12-26
  ResetIB 1.0.3.10 for IB3.10
   * 修正有时找不到IBService的BUG

2007-12-20
  ResetIB 1.0.2.9 for IB3.10
   * 修正对于仅安装Agent的系统有时会复位失败的BUG

2007-12-19
  ResetIB 1.0.1.6 for IB3.10
   * 此版本支持IncrediBuild 3.10
   * 对于仅安装了Agent的系统,每次执行后试用时间复位为30天
   * 对于仅安装了Coordinator的系统,每次执行后试用时间复位至2046年1月1日
   * 如果Coordinator与Agent在同一台机子上,则Coordinator的时间也置为30天


IncrediBuild 3.10.0.822官方下载
  http://www.xoreax.com/downloads/incredibuild3_10.exe
————————————————————————————经测试,不能用
 楼主| 发表于 2008-7-30 09:08:17 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

【下载】IncrediBuild 3.30 Public Beta
http://www.xoreax.com/downloads/incredibuild3_30b.exe
先安装好IncrediBuild,过期后再试试这个工具,设置后停止两个服务再开启就是了.


文件: ResetXoreaxIB.exe
大小: 118272 字节
MD5: C244D2D43C06916D0A706874412AB7E1
上传的图像http://bbs.pediy.com/attachment.php?attachmentid=16130&stc=1&d=1216256874
ResetXoreaxIB.rar (2008-07-17 09:07, 107.4 KB, 22 次下载)
http://bbs.pediy.com/showthread.php?t=68668
————————————————————————
看雪软件论坛牛,经测试,这个能用!
 楼主| 发表于 2008-7-30 09:09:26 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

IncrediBuild 2.40 3.20 无限期试用的办法





IncrediBuild是一个很强的分布式编译工具,可以明显缩短大型项目编译时间,但是价格不菲。对于我这样的穷人来说,只能使用试用版。Coordinator试用期限是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才会过期。
——————————————————————————-未测试
 楼主| 发表于 2008-7-30 09:15:50 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

用cmd-》ipconfig/all 获取incredibuild服务器IP地址,
在客户端填入服务器IP地址即可,如192.168.1.4
 楼主| 发表于 2008-12-8 21:07:18 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

感谢 lionel 的分享
http://bbs.pediy.com/showthread.php?...t=IncrediBuild

3.31 版的产生方式没变.. Key 的位置为
3.31: HKCR\Interface\{6F8793A7-3226-4B51-98C1-476A0D1A7AFC}\ProxyStubClsid32

我用 Python 简单写个产生 value 的 script, 会自动产生今天 + 30 天的 value.



代码:
import struct, datetimeOLE_TIME_ZERO = datetime.datetime(1899, 12, 30, 0, 0, 0)def getDays(delta):  return delta.days + delta.seconds / 86400.0 + delta.microseconds / 86400.0 / 1000000.0def ole2datetime(oledt):  return OLE_TIME_ZERO + datetime.timedelta(days=float(oledt))  def datetime2ole(dt):  d = dt - OLE_TIME_ZERO  return getDays(d)  def main():  d = datetime.datetime.now() + datetime.timedelta(30)  oledate = datetime2ole(d)  olestr = struct.pack('d', oledate)    calArr = map(lambda x: ord(x), olestr)  m1 = calArr[0] * calArr[1] * calArr[2] * calArr[3]  m2 = calArr[4] * calArr[5]  m3 = calArr[6] * calArr[7]    value = '{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}' % (    m1, m2, m3,    calArr[0], calArr[1],    calArr[2],calArr[3],calArr[4],calArr[5],calArr[6],calArr[7]  )  print 'New keyvalue = %s' % (value)    if __name__ == '__main__':  main()
结果


代码:
D:\WorkingFolder\Python\IBTrial>python IBTrial.pyNew keyvalue = {0108C903-0BF4-38C0-7B1F-6F291E66E340}
 楼主| 发表于 2008-12-8 22:26:19 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

{23EAEB06-5D2A-38C0-37BA-E7FF9F96E340}
0x00005d2a 0x00005d2a int
0x000038c0 0x000038c0 int
37 ba e7 ff 9f 96 e3 40 CXX0013: Error: missing operator
COleDateTime DateTime(2009, 10, 30, 23, 59, 59);

DATE Date = (DATE)DateTime;

int M1 = 0, M2 = 0, M3 = 0;

M1 = 0x37 * 0xBA * 0xE7 * 0xFF;

M2 = 0x9F * 0x96;

M3 = 0xE3 * 0x40;
 楼主| 发表于 2008-12-9 00:10:34 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

39598.999988425923 -> 0x37BA E7FFDF55E340?
浮点数的十六进制内存值表现形式,取内存值即可

 楼主| 发表于 2009-10-9 13:04:57 | 显示全部楼层

回复: 【转帖】IncrediBuild 3.10 试用时间复位工具

CString compileDateString = "Oct 7 2009";
    COleDateTime compileTime;
    compileTime.ParseDateTime(compileDateString);
    CString m_Date = compileTime.Format(VAR_DATEVALUEONLY);
// + str "07 October, 2009"
    CString str = compileTime.Format(_T("%d %B, %Y"));
//-        str    "10/09/09"   
     str = compileTime.Format(_T("%x"));
//-        str    "12:52:55"
     str = compileTime.Format("%X");

问题:需要统一国家时间格式——
各个国家的时间格式有所不同,解析时间字符串是个问题,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-3-29 18:21 , Processed in 0.043194 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表