A. 加密狗的原理是什麼
加密狗的工作原理:
加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的。加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。
這種加密產品稱型汪芹它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。
加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=12345,下面,舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句:A=Fx(3)。程序要根據常量3來得到變數A的值。
於是就可以把原程序這樣改寫:A=Fx(DogConvert(1)-12342)。那麼原程序中就不會出現常量3,而取之以DogConvert(1)-12342。這樣,只有軟體編寫者才知道實際調用的常量是3。
而如果沒有加密狗,DogConvert函數就不能返回正確結果,結果算式A=Fx(DogConvert(1)-12342)結果也肯定不會正確。這種使盜版用戶得不到軟體使用價值的加密方式,要比一發現非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。
此外,還有讀寫函數可以用作對加密狗卜畢內部的存儲器的讀寫。於是可以把上算式中的12342也寫到狗的存儲器中去,令A的值完全取決於DogConvert()和DogRead()函數的結果,令解密難上加難。
不過,一般說來,加密狗單片機的演算法難度要低於一些公開的加密演算法,如DES等,因為解密者在觸及加密狗的演算法之前要面對許多難關。
(1)wdi加密狗什麼原理擴展閱讀:
加密狗是一種用於軟體加密的小型外置硬體設備,常見的有並口與USB介面兩種類型,加密狗被廣泛應用於各種軟體之中,陵梁其中如著名的繪圖軟體AutoCAD,國內相當數量的工程軟體與財務軟體等。加密狗的成功應用,翻開了軟體知識產權保護的新篇章。
國內最早的加密狗是由現北京彩虹天地信息技術有限公司總經理、董事長—陳龍森先生在1990年提出並設計完成的。
他的想法是,把一個小的硬體裝置載入到微機的並行口上,其中內置幾個邏輯晶元,作為核心的是一個計數器;然後通過軟體,向外加的硬體裝置發送脈沖信號,並等待返回信號,如果有,則表明外部存在硬體設備,否則就視作非法運行,被加密軟體停止工作。
因此,陳龍森設計的軟體中,專門設有一個模塊,用來讀取並行口上的硬體信息。軟體開發的技術人員,可以把實現此項功能的軟體模塊,載入到任何需要對用戶信息判斷的地方,進行編譯連接,從而就能形成可以保護自身的軟體產品。
B. 緯地道路6.6淘寶上買的有軟體鎖,軟體鎖是什麼個原理,是賣家自己設定的
軟體鎖就是軟體的加密狗,所有加密狗的基本工作原理都是類似的:當用戶啟動或者使用軟體時,軟體會聯絡軟體狗,並且讀取其中的數據。如果軟體狗返回正確的數據的話,軟體可以正常使用,否則軟體將會停止工作,並且向用戶顯示出錯的提示。從這種原理我們可以看出,如果軟體狗要起到不錯的加密效果,和被加密的軟體的設計是緊密相關的。一般來說,軟體讀取加密狗的次數越頻繁、傳輸的數據越復雜多樣、讀取數據的函數越多,破解加密狗的難度就會越大,保護效果也就越好。
軟體鎖是賣家通過技術手段破解正面加密狗後,復制出來的產品。可放心使用。
C. 加密狗的工作原理
以下就現今全球軟體保護行業較普遍採用的方法之一使用「硬體加密狗」的方式方法談談自己的一點看法。
在當今中國市場上最主要的加密鎖品牌有:1。美國彩虹公司(也是最早做硬體加密的公司)的國產品牌「加密狗」、美國品牌「聖天諾軟體加密鎖」;2。阿拉丁的「HASP」系列加密鎖;3。德國威博公司的「WBU-KEY」加密鎖;4。深思洛克的「深思加密鎖」;5。藍宇風公司的「金盾加密鎖」;6。飛天公司的「ROCKEY」加密鎖等幾個主要品牌。
以上加密鎖品牌的工作原理都是大同小異:被保護的軟體--加密鎖之間形成一一對映的關系,被保護的軟體在運行的過程當中不斷通過其API函數向加密鎖發指令來判斷加密鎖是否存在於,軟體離開保護鎖不能運行。
但是從其發展歷程來看,本人以美國RAINBOW公司的產品生產研發的歷程作一個簡單的介紹:
1、從最早由美國RAINBOW公司生產的第一代硬體保護鎖,只是通過一個簡單查詢函數來驗證並口的硬體保護鎖是否存在,存在則程序繼續運行,不再則軟體終止運行,來完成並保護軟體開發商的利益;
2、接著依然是美國RAINBOW公司對自己的第一代的產品進行了改進而形成了第二代的加密鎖產品,並且美國RAINBOW公司為其第二代產品取名為:SENTINEL PRO,其與第一代的產品相比較最大的改變在於加密鎖硬體里頭的運算晶元由RAINBOW公司寫入了一個固定的「加密演算法」,但這個演算法是單一的固定的。
以上兩種產品對於軟體開發商來說有一個相當大的風險,那就是其必需相信RAINBOW公司不會把買給他們的加密鎖買給別的個人,如果RAINBOW把相同的產品出售給別人的話,別人拿到這個加密鎖就能使用開發商的軟體。
3、通過軟體開發商對這個問題的重視,RAINBOW公司針對這種情開發出了第三代的加密產品:SENTINEL SUPERPRO,這種產品徹底解決了軟體開發商的後顧之憂。這種產品其運算晶元中內置了28種演算法,共分為56個單元,每兩個單元可以單獨保護一個應用程序,故用RAINBOW公司的說法其一把鎖可以保護28個應用程序;且這種加密鎖的每個演算法單元所採用的演算法因子是由軟體開發商自己設定的,當其寫入加密鎖後對於外界來說就相當於一個暗箱,是任何人也讀不出來的。
4、但隨著解密者的技術的不斷提高,RAINBOW中國公司研發出了第四代的產品-智能狗,與現今的差不多所有品牌的加密鎖相比較,這種狗有了一個質的飛躍:其通過在開發過程中把一段代碼加密後寫入加密狗,當程序運行時再把加密狗里的代碼在加密狗里自行運行,程序調用其運算結果來完成軟體的加密,如此就從理論上杜絕了軟體被破解的可能。
現在市面上的加密狗的工作原理不外乎RAINBOW的這兩種形式:1、程序發命令查詢--加密狗運算後相應程序;2、把源代碼放入加密狗內部執行(現在還只有RAINBOW公司一家有此功能的加密狗)。
轉載自月光博客。
D. 加密狗的原理是什麼
加密狗是外形酷似U盤的一種硬體設備,正名加密鎖,後來發展成如今的一個軟體保護的通俗行業名詞,"加密狗"是一種插在計算機並行口上的軟硬體結合的加密產品(新型加密狗也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現在較新的狗內部還包含了單片機。軟體開發者可以通過介面函數和軟體狗進行數據交換(即對軟體狗進行讀寫),來檢查軟體狗是否插在介面上;或者直接用軟體狗附帶的工具加密自己EXE文件(俗稱"包殼")。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用軟體狗做為鑰匙來打開這些鎖;如果沒插軟體狗或軟體狗不對應,軟體將不能正常執行。 x0dx0a加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的.加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=12345、DogConvert(A)=43565。x0dx0a加密狗是為軟體開發商提供的一種智能型的軟體保護工具,它包含一個安裝在計算機並行口或 USB 口上的硬體,及一套適用於各種語言的介面軟體和工具軟體。加密狗基於硬體保護技術,其目的是通過對軟體與數據的保護防止知識產權被非法使用。x0dx0a工作原理x0dx0a加密狗的工作原理:x0dx0a加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的.加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=12345、DogConvert(A)=43565。下面,我們舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句:A=Fx(3)。程序要根據常量3來得到變數A的值。於是,我們就可以把原程序這樣改寫:A=Fx(DogConvert(1)-12342)。那麼原程序中就不會出現常量3,而取之以DogConvert(1)-12342。這樣,只有軟體編寫者才知道實際調用的常量是3。而如果沒有加密狗,DogConvert函數就不能返回正確結果,結果算式A=Fx(DogConvert(1)-12342)結果也肯定不會正確。這種使盜版用戶得不到軟體使用價值的加密方式,要比一發現非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。此外,加密狗還有讀寫函數可以用作對加密狗內部的存儲器的讀寫。於是我們可以把上算式中的12342也寫到狗的存儲器中去,令A的值完全取決於DogConvert()和DogRead()函數的結果,令解密難上加難。不過,一般說來,加密狗單片機的演算法難度要低於一些公開的加密演算法,如DES等,因為解密者在觸及加密狗的演算法之前要面對許多難關.
E. 加密狗破解原理是什麼
硬體加密鎖,俗程「加密狗」,對於加密狗的破解大致可以分為三種方法,一種是通過硬體克隆或者復制,一種是通過SoftICE等Debug工具調試跟蹤解密,一種是通過編寫攔截程序修改軟體和加密狗之間的通訊。
硬體克隆復制主要是針對國產晶元的加密狗,因為國產加密狗公司一般沒有核心加密晶元的製造能力,因此有些使用了市場上通用的晶元,破解者分析出晶元電路 以及晶元里寫的內容後,就可以立刻復制或克隆一個完全相同的加密狗。不過國外的加密狗就無法使用這種方法,國外加密狗硬體使用的是安全性很好的自己研製開 發的晶元,通常很難進行復制,而且現在國內加密狗也在使用進口的智能卡晶元,因此這種硬體克隆的解密方法用處越來越少。
對於Debug調試破解,由於軟體的復雜度越來越高,編譯器產生的代碼也越來越多,通過反匯編等方法跟蹤調式破解的復雜度已經變得越來越高,破解成本也越來越高,目前已經很少有人願意花費大量精力進行如此復雜的破解,除非被破解的軟體具有極高的價值。
目前加密鎖(加密狗)的解密破解工作主要集中在應用程序與加密動態庫之間的通訊攔截。這種方法成本較低,也易於實現,對待以單片機等晶元為核心的加密鎖(加密狗)具有不錯的解密效果。
由於加密鎖(加密狗)的應用程序介面(API)基本上都是公開的,因此從網上可以很容易下載到加密狗的編程介面API、用戶手冊、和其它相關資料,還可以了解加密狗技術的最新進展。
例如,某個國內知名的美國加密狗提供商的一款很有名的加密狗,其全部編程資料就可以從網上獲取到,經過對這些資料的分析,我們知道這個加密鎖(加密狗)有64個內存單元,其中56個可以被用戶使用,這些單元中的每一個都可以被用為三種類型之一:演算法、數據值和計數器。
數據值比較好理解,數據值是用戶存儲在可讀寫的單元中的數據,就和存儲在硬碟里一樣,用戶可以使用Read函數讀出存儲單元裡面的數據,也可以使用Write函數保存自己的信息到存儲單元。
計數器是這樣一種單元,軟體開發商在其軟體中使用Decrement函數可以把其值減一,當計數器和某種活動的(active)演算法關聯時,計數器為零則會封閉(deactive)這個演算法。
演算法單元較難理解一些,演算法(algorithm)是這樣一種技術,你用Query(queryData)函數訪問它,其中queryData是查詢 值,上述函數有一個返回值,被加密的程序知道一組這樣的查詢值/返回值對,在需要加密的地方,用上述函數檢查狗的存在和真偽。對於被指定為演算法的單元,軟 件上是無法讀和修改的,即使你是合法的用戶也是如此,我理解這種技術除了增加程序復雜性以外,主要是為了對付使用模擬器技術的破解。
此加密鎖(加密狗)的所有API函數調用都會有返回值,返回值為0的時候表示成功。
因此,破解思路就出來了,就是使用我們自己的工具(如VB、VC等)重新編寫構造一個和加密狗API一樣的DLL動態庫文件,裡面也包含Read、 Write等全部API中包含的函數,使用的參量及返回值和原來的函數一樣,所有函數返回零。然後對Query、Read函數進行處理,返回應用軟體需要 的數值即可。
這個新的DLL文件編寫成功後,直接替換掉原來的DLL文件,這時候再運行應用軟體,軟體訪問加密狗的操作就全部會被攔截,攔截程序永遠會返回正確的數據給軟體,從而實現了模擬加密狗的運行。
F. 軟體加密狗的加密原理
最新的硬體加密原理
目前全球最先進的聖天狗中引入了雙演算法安全通道技術,在通訊中同時採用128位AES演算法及160位ECC演算法作為通訊加密手段,每一次數據傳輸都用128位隨機密鑰AES演算法對其加密,而這個隨機的密鑰又用160位ECC演算法加密,在隨後傳輸。由於ECC是非對稱演算法,加密和解密的密鑰並不相同,如果其中一組密鑰可以用黑客手段從內存中獲得,那麼另外一組燒錄在硬體狗中的密鑰,黑客無法獲得。無法獲得兩對ECC密鑰,也就無法破解ECC加密的數據,從而無法獲得AES密鑰,也就無法破解整個通訊過程。這一雙演算法安全通道技術徹底解決了通訊監聽破解的難題,傳統的對稱演算法加密,黑客只要從內存中獲得其加密密鑰,就可以破解整個通訊過程。
G. 什麼是加密狗呢怎麼使用呢
加密狗 加密狗是由彩虹天地公司首創,後來發展成如今的一個軟體保護的通俗行業名詞,"加密狗"是一種插在計算機並行口上的軟硬體結合的加密產品(新型加密狗也有usb口的)。一般都有幾十或幾百位元組的非易失性存儲空間可供讀寫,現在較新的狗內部還包含了單片機。軟體開發者可以通過介面函數和軟體狗進行數據交換(即對軟體狗進行讀寫),來檢查軟體狗是否插在介面上;或者直接用軟體狗附帶的工具加密自己EXE文件(俗稱"包殼")。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用軟體狗做為鑰匙來打開這些鎖;如果沒插軟體狗或軟體狗不對應,軟體將不能正常執行。
加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的.加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=17345、DogConvert(A)=43565。
加密狗是為軟體開發商提供的一種智能型的軟體保護工具,它包含一個安裝在計算機並行口或 USB 口上的硬體,及一套適用於各種語言的介面軟體和工具軟體。加密狗基於硬體保護技術,其目的是通過對軟體與數據的保護防止知識產權被非法使用。
加密狗的工作原理:
加密狗通過在軟體執行過程中和加密狗交換數據來實現加密的.加密狗內置單片機電路(也稱CPU),使得加密狗具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密狗.加密狗內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密狗硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=17345、DogConvert(A)=43565。下面,我們舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句:A=Fx(3)。程序要根據常量3來得到變數A的值。於是,我們就可以把原程序這樣改寫:A=Fx(DogConvert(1)-12342)。那麼原程序中就不會出現常量3,而取之以DogConvert(1)-12342。這樣,只有軟體編寫者才知道實際調用的常量是3。而如果沒有加密狗,DogConvert函數就不能返回正確結果,結果算式A=Fx(DogConvert(1)-12342)結果也肯定不會正確。這種使盜版用戶得不到軟體使用價值的加密方式,要比一發現非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。此外,加密狗還有讀寫函數可以用作對加密狗內部的存儲器的讀寫。於是我們可以把上算式中的12342也寫到狗的存儲器中去,令A的值完全取決於DogConvert()和DogRead()函數的結果,令解密難上加難。不過,一般說來,加密狗單片機的演算法難度要低於一些公開的加密演算法,如DES等,因為解密者在觸及加密狗的演算法之前要面對許多難關
[編輯本段]目前最新的硬體加密原理
隨著解密技術的發展,單片機加密狗由於其演算法簡單,存儲空間小,容易被硬復制等原因,正逐漸被市場所淘汰。以北京彩虹天地信息技術股份有限公司為首的國內加密狗廠商研發出穩定性更好、存儲空間更大(最大為64K)、有效防止硬克隆的第四代加密狗——「智能卡」加密狗以其獨創的「代碼移植」原理,已經被國內大型商業軟體開發商如金蝶、用友、CAXA、廣聯達、神機妙算、魯班……所採用。
以世界上第一款智能卡加密鎖——宏狗為例,簡單介紹一下「代碼移植」原理。
「代碼移植」加密原理為一種全新的、可信的軟體保護模型,工作原理為:軟體中部分代碼經過編譯,「移植」到加密鎖硬體內部,軟體中沒有該段代碼的副本。
在這套軟體保護方案中,PC端應用軟體的關鍵的代碼和數據「消失」了,被安全地移植到精銳IV型加密鎖的硬體中保護起來。在需要使用時,應用軟體可以通過功能調用引擎來指令精銳IV運行硬體中的關鍵代碼和數據並返回結果,從而依然可以完成整個軟體全部的功能。由於這些代碼和數據在PC端沒有副本存在,因此解密者無從猜測演算法或竊取數據,從而極大程度上保證了整個軟體系統的安全性。簡言之,精銳IV提供了一套可信的解決方案,從理論上保證軟體加密的安全。
加密狗技術的運用案例
1、廣聯達造價軟體
2、清華斯維爾造價軟體
3、神機妙算造價軟體
4、魯班造價軟體
使用加密狗進行加密的一些策略
現在的解密技術排除法律和道德因素,就從學術角度來說是門科學。它與加密技術一樣是相輔相成不斷提高。
以下就針對使用加密狗(加密鎖)進行硬體保護談談幾點心得:
針對於使用加密狗的解密有什麼方法?
1、硬體復制
復制硬體,即解密者復制Sentinel Superpro相同的加密鎖。由於加密鎖採用了彩虹公司專用的ASIC晶元技術,因此復制該加密鎖非常困難,且代價太大。
2、監聽
解密者利用並口監聽程序,進行解密,其工作機制是:
監聽程序,記錄應用程序對並口發的查詢串和加密鎖發回的響應串。當移去加密鎖時,如果程序再對並口發查詢串確認身份時,監聽程序返回所記錄的響應串。程序認為加密鎖仍然在並口上,是合法用戶繼續運行,應用程序也就被解密了。
3、 列印機共享器
將加密鎖插在列印機共享器上,多台計算機共同使用列印機共享器上的一把加密鎖。(後面簡述對抗策略)
4、 DEBUG
解密者DEBUG等反編譯程序,修改程序源代碼或跳過查詢比較。應用程序也就被解密了。
對於以上的幾種解密方法加密者可以考慮使用以下幾種加密策略:
1、針對上述監聽和DEBUG問題解密方法,本人推薦充分利用加密狗開發商的API函數調用的加密策略:
a、 針對並口監聽程序
1)對加密鎖進行演算法查詢
Ø 正確的查詢響應驗證
用戶生成大量查詢響應對,如200對。在程序運行過程中對激活的加密演算法單元隨機的發送在200對之中的一對「345AB56E」―――「63749128」。查詢串「345AB56E」,哪么演算法單元返回的下確的響應串應該是「63749128」,若是,則程序認為加密鎖在並口上,是合法用戶,繼續運行,反之終止程序。
Ø 隨機非激活演算法驗證
我們對非激活的加密鎖演算法單元發隨機生成的查詢串,如:「7AB2341」,非激活演算法單元只要是有查詢就會有響應串。因此返回響應串「7AB2341」,在程序中判斷響應串與查詢串是否相同,如果相同,則證明我們的加密鎖仍然在口上。繼續運行程序。
Ø 隨機激活演算法驗證
假設監聽程序了解了上面的機制。即對非激活的加密演算法我們發什麼查詢串則返回相同的響應串。哪么我也有對策。對激活的加密演算法單元發隨機生成的查詢串,如:「345AB56E」由於是激活演算法響應串肯定與查詢串肯定不等。所以假如返回響應串「7253ABCD」,在程序中判斷響應串與查詢串是否不同,如果不同,則證明我們的加密鎖仍然在並口上,繼續運行程序。
上面三種加密策略在程序同時使用,相符相承,相互補充。即使監聽程序記錄下來我們的部分查詢響應。
2) 分時查詢
用戶把查詢響應對分組,如120對分為4組。每30對一組。頭三個月使用第一組,第二個月三個月使用第二組以此類推,監聽程序就算記錄了頭三個月。第二個月三個月以後程序仍然無法使用。
也可以再生成100對「臨時委員」,每次運行隨意抽出1對與以上分組結合使用。使記錄程序在三個月內也無法記錄完全。程序也無法使用。
3) 隨機讀寫存儲單元
為了防監聽程序。我們的策略是:程序在啟動時,我們利用隨機函數隨機生成的一個數,假設是「98768964」。我們在指定的18#單元寫入這個數。哪么我們在程序運行中,每調用一個功能程序前讀取18#單元,數判定是否是我們寫入的數「98768964」。因為每次寫入的數是隨機生成的,所以監聽程序記錄不到當次啟動時寫入的隨機數,它返回的數肯定是一個不匹配的數。我們就可以就此判定是否是合法用戶。Sentinel Superpro加密鎖可以重復寫10萬次以上。也就是說每天寫三次也可以使用一百年。
2、 針對列印共享器的加密策略
為了防列印共享器。我們的策略是:程序在啟動時,我們利用隨機函數隨要生成的一個數,假設是「7762523A」。我們在指定的34#單元寫入這個數。哪么在程序運行中,每調用一個功能程序前讀取34#單元,以判定是否是我們寫入的數「7762523A」。以此判定是否是合法用戶。因為每次寫入的數隨機生成的,同時使用列印共享器的其他非法用戶的程序一進入也會寫入一個不同的隨機數。那麼第一個用戶的程序在校驗是否是第一個用戶寫入的數時,就會被認為是非法的用戶。所以在一個階段也只是一個程序使用。(例如RAINBOW公司開的Sentinel Superpro加密鎖可以重復10萬次以上。也就是說每天寫三次也就可以使用一百年。)
3、 針對DEBUG跟蹤的加密鎖的安全策略
1)分散法
針對DEBUG跟蹤。在調用每個重要功能模塊前,我們建議要對加密鎖進行查詢,校驗身份。如果只在程序開始部分校驗身份,DEBUG跟蹤程序部分可以輕易的跳過校驗部分,而一些不良用戶可以在驗證後可以將加密鎖拔下用在其它計算機。
2)延時法
針對某一具體查詢校驗,都有三步驟:
Ø 查詢得到響應串
Ø 比較響應串和查詢串是否匹配
Ø 執行相應的步驟
我們建議以上三個步驟要延時執行。最好鞀三步驟相互遠離些,甚至放到不同的子程序或函數中。例如:我們執行「查詢得到響應串」 後,相隔50執行「比較響應串和查詢串是否匹配」。假如程序需要調用一個函數。哪么我們就在這個函數里執行「執行相應的步驟」。這樣程序更難於被破解。
3)整體法
將響應串作為程序中數據使用。
例如:我們有返回值「87611123」,而我們程序需要「123」這個數。我們可以讓「87611123」減去「8761000」得到「123」。這樣以來任何對加密程序的修改都會使程序紊亂。
4)迷惑法
一般情況下我們的程序執行相應的驗證步驟。驗證是非法用戶就會退出。這樣很容易被發現代碼特徵。我們知道是非法用戶後繼續執行一些無用的操作使程序紊亂。以迷惑解密者。
以上為現如今軟體開發商使用硬體加密狗(加密鎖)進行軟體保護時可以使用的幾種切實可行的幾種加密策略。