《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 怎樣解密(芯片解密IC解密)加密狗
怎樣解密(芯片解密IC解密)加密狗
電子發(fā)燒友
摘要:    硬件加密鎖,,俗稱“加密狗”,,對(duì)于加密狗的破解大致可以分為三種方法,一種是通過(guò)硬件克隆或者復(fù)制,,第二種是通過(guò)Soft ICE等Debug工具調(diào)試跟蹤解密,,第三種是通過(guò)編寫攔截程序修改軟件和加密狗之間的通訊,。  硬件克隆復(fù)制主要是針對(duì)國(guó)產(chǎn)芯片的加密狗,,因?yàn)閲?guó)產(chǎn)加密狗公司一般沒有核心加密芯片的制造能力,,因此有些使用了市場(chǎng)上通用的芯片,破解者分析出芯片電路以及芯片里寫的內(nèi)容后,,就可以立刻復(fù)制或克隆一個(gè)完全相同的加密狗,。不過(guò)國(guó)外的加密狗就無(wú)法使用這種方法,國(guó)外加密狗硬件使用的是安全性很好的自己研制開發(fā)的芯片,,通常很難進(jìn)行復(fù)制,,而且現(xiàn)在國(guó)內(nèi)加密狗也在使用進(jìn)口的智能卡芯片,因此這種硬件克隆的解密方法用處越來(lái)越少,?! ?duì)于Debug調(diào)試破解,由于軟件的復(fù)雜度越來(lái)越高,,編譯器產(chǎn)生的代碼也越來(lái)越多,,通過(guò)反匯編等方法跟蹤調(diào)式破解的復(fù)雜度已經(jīng)變得越來(lái)越高,破解成本也越來(lái)越高,,目前已經(jīng)很少有人愿意花費(fèi)大量精力進(jìn)行如此復(fù)雜的破解,,除非被破解的軟件具有極高的價(jià)值?! ∧壳凹用苕i(加密狗)的解密破解工作主要集中在應(yīng)用程序與加密動(dòng)態(tài)庫(kù)之間的通訊攔截,。這種方法成本較低,也易于實(shí)現(xiàn),,對(duì)待以單片機(jī)等芯片為核心的加密鎖(加密
Abstract:
Key words :

   硬件加密鎖,,俗稱“加密狗”,對(duì)于加密狗的破解大致可以分為三種方法,,一種是通過(guò)硬件克隆或者復(fù)制,,第二種是通過(guò)Soft ICE等Debug工具調(diào)試跟蹤解密,第三種是通過(guò)編寫攔截程序修改軟件和加密狗之間的通訊,。
  硬件克隆復(fù)制主要是針對(duì)國(guó)產(chǎn)芯片的加密狗,,因?yàn)閲?guó)產(chǎn)加密狗公司一般沒有核心加密芯片的制造能力,,因此有些使用了市場(chǎng)上通用的芯片,破解者分析出芯片電路以及芯片里寫的內(nèi)容后,,就可以立刻復(fù)制或克隆一個(gè)完全相同的加密狗,。不過(guò)國(guó)外的加密狗就無(wú)法使用這種方法,國(guó)外加密狗硬件使用的是安全性很好的自己研制開發(fā)的芯片,,通常很難進(jìn)行復(fù)制,,而且現(xiàn)在國(guó)內(nèi)加密狗也在使用進(jìn)口的智能卡芯片,因此這種硬件克隆的解密方法用處越來(lái)越少,。
  對(duì)于Debug調(diào)試破解,,由于軟件的復(fù)雜度越來(lái)越高,編譯器產(chǎn)生的代碼也越來(lái)越多,,通過(guò)反匯編等方法跟蹤調(diào)式破解的復(fù)雜度已經(jīng)變得越來(lái)越高,,破解成本也越來(lái)越高,目前已經(jīng)很少有人愿意花費(fèi)大量精力進(jìn)行如此復(fù)雜的破解,,除非被破解的軟件具有極高的價(jià)值,。
  目前加密鎖(加密狗)的解密破解工作主要集中在應(yīng)用程序與加密動(dòng)態(tài)庫(kù)之間的通訊攔截。這種方法成本較低,,也易于實(shí)現(xiàn),,對(duì)待以單片機(jī)等芯片為核心的加密鎖(加密狗)具有不錯(cuò)的解密效果。
  由于加密鎖(加密狗)的應(yīng)用程序接口(API)基本上都是公開的,,因此從網(wǎng)上可以很容易下載到加密狗的編程接口API,、用戶手冊(cè)、和其它相關(guān)資料,,還可以了解加密狗技術(shù)的最新進(jìn)展。
  例如,,某個(gè)國(guó)內(nèi)知名的美國(guó)加密狗提供商的一款很有名的加密狗,,其全部編程資料就可以從網(wǎng)上獲取到,經(jīng)過(guò)對(duì)這些資料的分析,,我們知道這個(gè)加密鎖(加密狗)有64個(gè)內(nèi)存單元,,其中56個(gè)可以被用戶使用,這些單元中的每一個(gè)都可以被用為三種類型之一:算法,、數(shù)據(jù)值和計(jì)數(shù)器,。
  數(shù)據(jù)值比較好理解,數(shù)據(jù)值是用戶存儲(chǔ)在可讀寫的單元中的數(shù)據(jù),,就和存儲(chǔ)在硬盤里一樣,,用戶可以使用Read函數(shù)讀出存儲(chǔ)單元里面的數(shù)據(jù),也可以使用Write函數(shù)保存自己的信息到存儲(chǔ)單元,。
  計(jì)數(shù)器是這樣一種單元,,軟件開發(fā)商在其軟件中使用Decrement函數(shù)可以把其值減一,,當(dāng)計(jì)數(shù)器和某種活動(dòng)的(active)算法關(guān)聯(lián)時(shí),計(jì)數(shù)器為零則會(huì)封閉(deactive)這個(gè)算法,。
  算法單元較難理解一些,,算法(algorithm)是這樣一種技術(shù),你用Query(query Data)函數(shù)訪問它,,其中query Data是查詢值,,上述函數(shù)有一個(gè)返回值,被加密的程序知道一組這樣的查詢值/返回值對(duì),,在需要加密的地方,,用上述函數(shù)檢查狗的存在和真?zhèn)巍?duì)于被指定為算法的單元,,軟件上是無(wú)法讀和修改的,,即使你是合法的用戶也是如此,我理解這種技術(shù)除了增加程序復(fù)雜性以外,,主要是為了對(duì)付使用模擬器技術(shù)的破解,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。