加密狗原理 高強度加密 程式加密技巧

2021-07-16 22:54:46 字數 2642 閱讀 7709

加密狗原理,加密狗加密的基本原理

本文將介紹軟體加密加密狗原理,加密狗加密的基本原理的一些程式設計技巧,以及軟體開發者將如何編寫安全可靠 的**,如何對付各種各樣的加密狗破解,編寫加密程式時應該盡量避免的一 些問題等等。

加密狗加密的基本原理

開發商程式通過呼叫硬體加密狗的介面模組對硬體加密狗操作,硬體加密狗響應該操作並通過介面模組將相應資料返回給開發商的應用程式。開發商的應用程式可以對返回值進行判定並採取相應的動作。如果返回無效的響應,表明沒有正確的狗,開發商可以將應用程式終止執行,或者讓應用程式以錯誤的方式執行。

程式加密技巧1-如何提高加密強度

下面,我們以sentinel superpro加密鎖為例,詳細介紹一下程式加密技巧,使用如何在程式設計的過程中提高加密強度的方法。

1、程式加密技巧1-反debug解密的程式設計方法和技巧

訪問狗之後不要立即做判斷,判斷狗不正確後,不要立即提示,或者不提示。開發商在程式各個部分插入校驗演算法的**,用以增加程式**的複雜性,防止解密者輕易跟蹤發現全部的校驗**。校驗**插入程式的頻率越高,破解難度越大,軟體就越安全。

重要的字串不要在程式中以明文出現,應該使用演算法動態生成。

在不影響程式效率的情況下,盡量多寫一些查狗的函式,彼此要有區別,使用不同的演算法,多一些查狗出錯的標誌,讓這些標誌參與運算,在不同的模組中,使用不同的查狗函式。

針對某一具體查詢校驗,都有三步驟組成:查詢得到響應串;比較響應串和查詢串是否匹配;根據校驗結果執行相應的步驟。建議三個步驟要延時執行。最好將三步驟相互遠離些,甚至放到不同的子程式或函式中。例如:執行「查詢得到響應串」後,相隔50行執行「比較響應串和查詢串是否匹配」,假如程式需要呼叫乙個函式。那麼就在這個函式裡執行「執行相應的步驟」。解密者在跟蹤過程中,即使發現了其中一部分程式**,但很難發現另外兩部分**和全部三部分之間的關聯。程式難於被破解。

將加密鎖返回的「響應串」作為程式中的引數使用。例如:演算法單元返回「響應串」是「87611123」,而程式中需要使用「123」這個引數。程式中得到「響應串」後,將「響應串」減去「87611000」得到引數。如果解密者修改**跳過查詢校驗加密鎖部分,引數將是錯誤值,從而會使程式執行紊亂。

程式在驗證加密演算法過程中,一般情況下驗證資料不正確程式就會選擇退出。這樣一來很容易被解密者發現**特徵,跳過查詢校驗部分。開發商設計查詢校驗部分時,如果程式校驗資料不正確,程式也不退出可以繼續執行一些無用的操作使程式紊亂,用以隱蔽**迷惑解密者。

開發商的軟體可能有多個模組,查狗的模組或介面不要用顯而易見的名字來命名,這樣會令解密者更容易找到加密點,當然也可以利用一些名字來迷惑解密者,尤其是dll,引出函式時甚至可以不用函式名。

給查狗函式加入一定的隨機性,例如,隨機地執行某一api函式,或者在狗的儲存區中劃定一小塊區域作隨機讀寫,讀寫位址、讀寫內容、讀寫長度都是隨機取的,這樣可以很好地防止那些模擬工具。

試用版與正式版要分開,試用版不提供的功能,**已經刪掉,使得不可能利用試用版破解得到正式版。

在大多數情況下,破解是通過更改exe 或 dll 檔案實現的,要在程式中檢查exe或dll檔案的完整性,即利用某種演算法計算出整個檔案的校驗和,在程式中比較,如果檔案被更改,校驗和就會變化,這類演算法網上有很多,可以查得到。另外,exe和dll之間要相互認證,一方面防止dll被替換,另一方面防止非法exe訪問dll。

提高加密強度小結:應該盡量避免的問題

1)訪問狗、做判斷、提示使用者寫在一起

2)重要的字串在程式中以明文出現

3)在狗中存放字串,程式中讀出比較

4)呼叫同一函式或判斷同乙個全域性標誌查狗

5)試用版軟體同正式版軟體是同乙份

6)查狗的模組或介面名字太明顯

7)程式無隨機性,每次執行執行路徑都一樣

8)沒有檢查exe 或 dll 檔案的完整性,exe 和 dll 之間也沒有相互認證

高強度加密,程式加密技巧2

2、反「監聽**」軟體保護鎖的程式設計方法

1)隨機查詢法:開發商使用superpro開發工具生成大量查詢、響應對,如:1000 對,並在程式中使用這些校驗資料。在程式執行過程中,從1000 對查詢、響應對之中,隨機的抽出其中一對驗證superpro加密演算法。因為,校驗資料很多,每次驗證加密演算法使用的「查詢響應對」可能不同,「監聽**」軟體即使紀錄了一部分「查詢響應對」,但無法紀錄全部「查詢響應對」。軟體每次執行時,都可能使用新的查詢響應校驗資料,「監聽**」軟體無法響應這些新的查詢。因此,「監聽**」也就失去了模擬、**superpro軟體保護鎖的作用。

2)延時法:開發商可以事先使用開發工具生成大量的校驗資料,即:「查詢、響應」對,比如:200000 組「查詢、響應」對,開發程式過程中,開發商設計定時查詢、校驗加密鎖的機制。在程式執行過程中,每10分鐘查詢並校驗加密鎖一次,使用過的校驗資料,4年內不再重複使用。即使監聽軟體24小時記錄資料,也需要4年才能紀錄完畢。4年後,軟體早已過了「熱賣期」了,使用監聽軟體的解密者也就失去了行動意義。

3)分組、分時法:開發商可以在程式中把查詢響應對分組,比如:1200 對校驗資料可分為12組,每100對一組。程式在一年中的第一月使用第一組校驗資料,第二月使用第二組校驗資料,以此類推。監聽軟體就算記錄了第一月的校驗資料,第二個三個月以後校驗資料沒有紀錄,在以後的時間段軟體仍然無法正常使用,從而「監聽**」失去意義。

4)隨機雜訊資料法:開發商可以在程式中隨機產生查詢資料,隨機資料和真實資料混合在一起,監聽軟體即使記錄了查詢資料,也會被其隨機性所迷惑,同時也無法**另乙個次軟體執行產生的隨機數,加密軟體也就無法破解。

SSL TLS高強度加密

由於ssl http apache三者共同對請求進行處理,這使得在支援ssl的web伺服器上實現特殊的安全制約變得不那麼簡單。本節介紹了普通情況下的解決方案,作為找出最終方案的第一步。採用這些方案以前,先要盡量地去理解,不了解其限制和相關性就貿然使用是最糟糕的了。可以這樣建立乙個僅使用sslv2協議...

加密利器 加密狗

加密狗是外形酷似u盤的一種硬體裝置,正名加密鎖,後來發展成如今的乙個軟體保護的通俗行業名詞,加密狗 是一種插在計算機並行口上的軟硬體結合的加密產品 新型加密狗也有usb口的 加密狗通過在軟體執行過程中和加密狗交換資料來實現加密的.加密狗內建微控制器電路 也稱cpu 使得加密狗具有判斷 分析的處理能力...

加密狗原理介紹

本人就現今全球軟體保護行業較普遍採用的方法之一使用 硬體加密狗 的方式方法談談自己的一點看法。在當今中國市場上最主要的加密鎖品牌有 1。美國彩虹公司 也是最早做硬體加密的公司 的國產品牌 加密狗 美國品牌 聖天諾軟體加密鎖 2。阿拉丁的 hasp 系列加密鎖 3。德國威博公司的 wbu key 加密...