專注信息安全二十年    讓溝通更安全

龍脈科技 NOX2軟件保護方案(防複制解決方案)

龍脈科技 NOX2加密鎖并非高端加密鎖,屬于低端加密鎖,對于很少有加密經驗的軟件開發商來說,一般是直接将應用程序标識和用戶密碼寫入軟件,從而查找和打開加密鎖,驗證通過則執行程序,或是将一些驗證信息寫到鎖内,然後軟件運行中讀取,進行簡單驗證來判斷該加密鎖的合法性。程序發到客戶處往往是需要用戶密碼驗證後打開鎖,然後讀取鎖内的一些驗證信息,在程序中進行匹配,這樣的話如果用戶密碼被取到,那就可以通過這個用戶密碼,從而讀取加密鎖中的數據,盜版您的軟件。那麽有沒有比較好的方法可以在一定程度上杜絕這種破解呢?方法一定是有的。下面就簡單介紹下如果在一定程度上杜絕此類破解。首先我們來分析以上加密方法最大的蔽端在于加密鎖數據區中寫入的驗證信息都是相同的,這樣就減少了破解難度。那麽我們可以反其道行之,保證每把加密鎖數據區中的驗證信息是不相同的,并且軟件中也可以正确驗證。

 

如何做到呢?首先我們可以自己在軟件中設計一套算法, 用戶密碼不要連續存儲,可以将用戶密碼和幾百k的無用數據組合,您也可以加入一些綁定模塊信息時間授權等等,程序中分段讀取拼接出真正的用戶密碼。

 

打開鎖之後,通過用戶密碼+CPU号+硬盤号+軟件産生随機數,通過一個算法生成不同的數據内容(軟件每次啓動首先要讀取鎖數據區内容與程序中生成的比較驗證鎖的合法性,當然我們的初始鎖一定要寫一個驗證信息在軟件中去驗證,首次驗證完後馬上把驗證數據覆蓋,這樣他就算破解了用戶密碼也無法知道鎖内初始驗證信息是什麽,如果驗證信息合法則将驗證數據寫入加密鎖,)加密鎖可寫10萬次,假如每天軟件啓動三次,一年365天  100000/365*3 = 91.33年,加密鎖可用将近100年的時間,完全能滿足應用軟件的需求。

 

一般的軟件破解一次性調試破解的可能性也極小,且由于每次寫入鎖的數據有随機數參與,每次程序中也要驗證當時産生的随機數,所以鎖内數據區永遠不會相同,驗證數據每次也不會相同。在這個基礎中在利用NOX2統一外殼加密工具加一層殼,就又多了一層保護錯失。

 

三層驗證,三層保護,在一定程度上可有效防止複制。

 

标簽: