別鄙視我,國情嘛。
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
大日如來 閱讀(11163)
評論(0) 編輯 收藏 引用 所屬分類:
雜記