淺析Blurry Box加密技術(shù)使用的7種方法

Blurry Box加密技術(shù)包括七種方法,這七種方法結(jié)合起來,大大增加了破解難度。使得即使重新開發(fā)出一套新的軟件,使用的時(shí)間和人力成本大大小于破解Blurry Box并逆向工程的成本。以下我們將說明Blurry Box所采用的的七種方法。

淺析Blurry Box加密技術(shù)使用的7種方法

1 創(chuàng)建變量

為了增加軟件的復(fù)雜性,軟件中的多個(gè)函數(shù)會被重新生成為函數(shù)變量。一個(gè)封裝函數(shù)會通過函數(shù)的輸入?yún)?shù)選擇執(zhí)行哪個(gè)變量。

2 變量變化

每個(gè)變量都會在一定范圍值內(nèi)發(fā)生變化,以防止破解者通過補(bǔ)丁形式每次都固定執(zhí)行同一變量。

3 變量加密

所有的變量都被加密以阻止破解者根本不解密就通過逆向工程獲得變量。

4 植入陷阱

除了已經(jīng)生成變量,更多的變量會被加密并作為陷阱植入到代碼中。陷阱之中會包含鎖定代碼,這意味著如果陷阱被觸發(fā),加密狗將會啟動自鎖功能,防止用于再次解密。這意味著破解者根本無法再次利用加密鎖進(jìn)行解密破解工作。

5 加密狗中變量的選擇

封裝函數(shù)將會使用加密狗選擇變量。為此,輸入?yún)?shù)發(fā)送到加密狗中,所使用的變量值則被返回。這使得攻擊者不再可能通過逆向工程解密封裝函數(shù)找出需要哪個(gè)變量,而是必須輸入所有可能參數(shù)并運(yùn)行代碼才能確定。

6 加密狗中的狀態(tài)記錄引擎

所有開發(fā)人員都知道函數(shù)只能按照他設(shè)定的順序執(zhí)行。上一次的解密方法將會存儲在加密狗中作為一種狀態(tài),下一次的解密則會檢查是否滿足此狀態(tài),如果沒有滿足則觸發(fā)陷阱,以防止破解者嘗試各種可能的變量。這樣破解者每次不得不重新來過,這將大大增加破解的復(fù)雜程度。

7 解密延遲

程度的正常操作中,每隔30秒只有一定數(shù)量的解密可以被執(zhí)行。該數(shù)量會被作為解密臨界值存放在加密狗里,加密狗會根據(jù)該值進(jìn)行相應(yīng)解密。這樣做不但使過程更加復(fù)雜,而可以大大拖慢破解者的破解速度。

總 結(jié)

BlurryBox加密使用的這七種方法,大大增加了復(fù)雜性和所需的破解時(shí)間。最終對于破解者來說,重新開發(fā)類似的軟件會比破解來得更加容易。所以到后來肯定就放棄破解Blurry Box這種成本過高收益過小的“生意”了。