軟體的加密方法
2023-05-08 10:21:16
專利名稱:軟體的加密方法
技術領域:
本發明涉及一種軟體的加密方法,更具體地說,涉及一種在DOS下實現加密,通過重複校驗計算機主板的ID號的加密方法來保護自己軟體不被非法複製的加密方法。
背景技術:
在現有技術中,已有各種計算機軟體的加密方法,主要有硬體狗加密法、軟盤加密法、插卡加密法、密碼加密法等,但上述各種加密法均存在不足之處軟體狗加密是在計算機的列印口上或者在USB口上加一個特製的加密鎖,軟體啟動時在加密鎖裡校驗加密值是否一致,如果不一致或者沒有加密鎖軟體停止運行,當校驗加密值一致軟體運行繼續,這種加密方法安全性比較好,操作也方便,但相對成本有所增加,軟體狗在客戶那裡比較容易丟失給工作帶來不便;軟盤加密法是軟體啟動時要到軟盤中讀取相對應的數據,然後軟體進行一系列的運算確認這個數據值是否是自己所需要的值,來確定軟體啟動或退出,這種技術較軟體狗加密成本低,但軟盤容易破損給使用者帶來許多麻煩,由於現在對這種加密機理已有相當的理解軟盤容易被複製,安全性也不夠理想;插卡試加密是在計算機內部的插槽上插上一片特製的加密卡,軟體在啟動或運行時也要到加密卡裡去校驗加密值,判斷和預定的值是否一致來確定是否啟動軟體,這種加密方法安全性較好,但要佔用計算機的資源,安裝要打開計算機的機箱比較麻煩,成本也較高;密碼加密法是軟體在啟動或運行時提示要輸入一個指定的密碼,軟體校驗後來確定是否啟動軟體,這種加密方法要輸入密碼,帶來操作上的麻煩,密碼容易流失,軟體容易複製,因而安全性低,難以管理。
發明內容
本發明的目的在於提供一種在DOS下實現加密,通過重複校驗計算機硬體上全球唯一的硬體ID號,從而達到安全使用、不被複製的目的。
為了達到上述目的,本實用新型提供了如下的技術方案採用一種軟體的加密方法,在DOS下實現加密,在主板上讀取ID號,通過晶片CPU快速運算並通過其內存進行存儲、比較和交換,該加密方法是通過將文件F置入計算機安裝軟體C中並綁定軟體C的執行文件,文件F從主板BIOS中讀取主板的ID號,並同時檢測主板的ID號與置入的在文件F裡的主板ID號的一致性實現的。本發明提供的是一種重複校驗計算機硬體上全球唯一的硬體ID號來加密的,一旦軟體被複製由於硬體ID號不一致也無法使用,保密強度高,所有加密校驗過程自動完成不須要再進行任何設置,使用簡單便於操作,不需要另外增加硬體成本的一種加密方法。本發明所有解決的技術問題就是讓所要保護的軟體在每次啟動時都要自動的去校驗硬體的ID號和預定的硬體ID號是否一致來決定是否啟動運行軟體。
本發明較好的技術方案是加密過程包括如下步驟(1)在計算機上運行機器碼讀取程序A,讀取主板BIOS中的主板ID號,並生成由主板ID號構成的文件A1,然後(2)將文件A1發送到軟體公司,軟體公司根據文件A1用計算機授權程序B,通過算法S1生成授權後唯一適用該計算機的文件F並同時預置基於A1的運算結果X2,文件F在運行時同時具有算法S1的功能,再(3)將文件F置入計算機安裝軟體C中並綁定軟體C的執行文件,把授權後的軟體C提供用戶,最後(4)用戶安裝此程序,同時把通過算法S1生成授權後唯一適用文件F安裝在計算機上。也就是說,用戶在欲授權的計算機上運行機器碼讀取程序A,即讀取主板BIOS中全球唯一的主板ID號,並生成由主板ID號構成的文件A1。用戶將A1發送到軟體公司,軟體公司根據用戶提供的主板ID號的文件A1,用計算機授權程序B,通過算法S1生成授權後唯一適用此計算機的文件F並同是預置基於A1的運算結果X2,文件F在運行時同時具有算法S1的功能。將文件F置入該公司的計算機安裝軟體C中並綁定軟體C的執行文件,把授權後的軟體C寄給用戶,用戶在運行此安裝程序安裝完成後同時把通過算法S1生成授權後唯一適用此計算機的文件F安裝在計算機上。
本發明較好的技術方案也可以是運行計算機時以所述的ID號作參數,通過算法S1再次運算,得出運算結果X1,並與預先置入的運算結果X2作比較,X1等於X2時軟體認證成功,正常啟動計算機軟體,X1不等於X2時軟體自動退出。
本發明的方法只能在指定的硬體上運行,硬體不一樣時則其ID號也不一樣,當軟體運行時讀取硬體ID號,並基於此ID號生成的結果和軟體公司預置的結果也將不一樣,當兩個值不相等時軟體就會自動退出;本發明的方法,就是在軟體安裝完後採用硬碟整盤複製後移到另外一臺機器上,啟動計算機軟體時也同時啟動了加密文件F,並同時檢測主板的ID號與置入的在F裡的主板ID號是否一致,當發現一致時認證成功,正常啟動軟體;當不一致時認證失敗,退出啟動。本加密方法是採用重複校驗基於硬體ID號生成的結果是否一致來保護軟體安全的,軟體不管啟動多少次,每次啟動都做同樣重複的做校驗工作就是為了拒絕非法複製,從而真正徹底地實現了對軟體的保護。本加密方法是採用自身重複校驗硬體唯一ID號的加密方法,比傳統的需要另增硬體的加密方法成本低得多,由於所有的校驗就在軟體內部完成,因而給使用者帶來諸多方便。
與現有技術相比,本發明具有以下明顯的優點由於本發明的加密方法是採用自身重複校驗硬體唯一ID號的加密方法,一旦軟體被複製,由於硬體ID號不一致也無法使用,因而保密程度高;所有加密校驗過程自動完成,不須要再進行任何設置,因而使用方便、操作簡單;由於不需要額外增加硬體。因而成本低廉,易於實施。
以下是本發明的
圖1是本發明加密設置的計算過程框圖;圖2是本發明的加密方法及過程框圖。
參照圖1,計算過程為文件A1由主板ID號構成,文件A1加上任意碼乘以A1的積,減去設置的另一任意碼乘以A1的積,加上文件A1,再加上文件A1減去上述兩個任意碼的餘數,得具體運算結果(X1)。
參照圖2,加密過程包括如下步驟第一步用戶在欲授權的計算機上運行機器碼讀取程序A,讀取這臺計算機主板BIOS中全球唯一主板ID,並生成ID文件A1,這一步就是在DOS下的C盤提示符下運行程序A,程序A就通過CPU的運算直接把主板BIOS裡的程序分開針對主板的ID號進行準確的複製,複製後再次通過CPU的運算基於這個ID號生成一個文件A1。用戶將這個文件發送給軟體公司;第二步軟體公司根據用戶提供的文件A1用計算機授權程序B,通過算法S1生成授權後唯一適用此計算機的文件F,這一步就是軟體公司運行計算機授權程序B(程序B就是針對用戶提供的文件調用算法並命令算法按照一定的規律運算得出結果的程序),根據用戶提供的主板ID文件裡的ID,按照S1的算法(算法S1就是主板的ID文件A1加上A1乘以任意碼的積減去另一個任意碼乘以A1的積加上A1再加上A1減去兩個任意碼的餘數就是運行結果X2)得出結果,並把這個結果和算法S1一同捆綁起來形成一個文件F,並在F文件中寫入每次啟動都要調用並運行S1同時直接讀取主板裡的ID並通過S1運算出結果,再校驗與捆綁的運算結果是否一致並作出判斷,一致將向軟體C的執行文件發出起動命令,不一致將向軟體C的執行文件發出退出的程序的命令,再把這個文件F置入軟體C中,在置入過程中同時與軟體C的執行文件綁定(綁定就是在軟體C的執行文件中寫入代碼,代碼的意思就是當執行文件在執行運行啟動時同時啟動文件F,如果沒有發現文件F或者文件F在運行過程中判斷值的對與錯返回一個信息並命令軟體C的執行文件是否繼續執行),讓軟體C在每次啟動運行執行文件時同時運行文件F,如果沒有發現文件F時軟體C也自動停止,當文件F發現校驗結果一致將讓軟體C繼續運行下去,當發現不一致時馬上命令軟體C的執行文件停止,從而終止軟體的運行;第三步就是把加密後的軟體給用戶,用戶安裝完成軟體後重起計算機馬上運行軟體C的執行文件同時運行加密文件F,F按照預定的過程執行下去,先讀取主板BIOS裡的ID號,並通過S1運算將運算結果與先綁定的結果作比較,再判斷是否讓軟體C啟動。
具體實施例方式
以下通過具體的實施方式對本發明進行更加詳細的描述實施例1計算機的主板ID號為12,計算機讀取程序A就在CPU的運算下把主板的ID號12準確的複製下來並生成一個文件,客戶把ID號為12的文件寄給軟體公司,軟體公司根據ID號為12的文件用授權程序B進行授權,授權程序B針對為12的ID號文件調用算法S1,S1根據自己的運算規則進行如下運算12加上12乘以任意碼3的積再減去12乘以另一個任意碼2的積,再加上12再加上12減去兩個任意碼2和3的餘數就是我們要的值,其計算公式為12+12×3-12×2+12+(12-3-2)=43,43就是我們要的值;然後把這個為43的值連同算法S1一同生成一個文件F,並讓F具備在運行過程中自己去讀取主板的ID號調用算法S1按照上面的算法再次運算得出的值是否也是43,是與否都向軟體執行文件發出命令的功能;再把文件F置入到軟體C裡,同時在軟體C裡的執行文件中寫入代碼,代碼具備當軟體啟動時軟體的執行文件命令文件F啟動運行,文件F運行的結果作出判斷並發出命令通過代碼反饋給執行文件,執行文件收到命令就作出啟動還是退出的決定的功能,再把加密好的軟體給客戶,客戶把軟體安裝到計算機上重起計算機馬上運行軟體C的執行文件同時也運行加密文件F,F按照預定的過程執行下去,先讀取主板BIOS裡的ID號,並通過S1運算將運算結果與先預置的值作比較是否也是43,並把這個判斷結果傳送給軟體C的執行文件,是讓軟體C啟動,不是讓軟體停止運行,每次啟動都重複這個過程。
當用戶需要對硬體進行更改時必須讓軟體公司知道並重新針對新的硬體授權才能使用。軟體崩潰但硬體沒變,那麼用戶只要對軟體重新安裝就行了。這樣既有效的保護了軟體安全,同時也方便了用戶使用。
權利要求
1.一種軟體的加密方法,在DOS下實現加密,在主板上讀取ID號,通過晶片CPU快速運算並通過其內存進行存儲、比較和交換,其特徵在於加密是通過將文件F置入計算機安裝軟體C中並綁定軟體C的執行文件,文件F從主板BIOS中讀取主板的ID號,並同時檢測主板的ID號與置入的在文件F裡的主板ID號的一致性實現的。
2.根據權利要求1所述的加密方法,其特徵在於加密過程包括如下步驟(1)在計算機上運行機器碼讀取程序A,讀取主板BIOS中的主板ID號,並生成由主板ID號構成的文件A1,然後(2)將文件A1發送到軟體公司,軟體公司根據文件A1用計算機授權程序B,通過算法S1生成授權後唯一適用文件F並同時預置基於A1的運算結果X2,文件F在運行時同時具有算法S1的功能,再(3)將文件F置入計算機安裝軟體C中並綁定軟體C的執行文件,把授權後的軟體C提供用戶,最後(4)用戶安裝此程序,同時把通過算法S1生成授權後唯一適用文件F安裝在計算機上。
3.根據權利要求1或2所述的加密方法,其特徵在於運行計算機時以所述的ID號作參數,通過算法S1再次運算,得出運算結果X1,並與預先置入的運算結果X2作比較,X1等於X2時軟體認證成功,正常啟動計算機軟體,X1不等於X2時軟體自動退出。
全文摘要
本發明公開了一種軟體的加密方法,在DOS下實現加密,在主板上讀取ID號,通過晶片CPU快速運算並通過其內存進行存儲、比較和交換,該方法是通過將文件F置入計算機安裝軟體C中並綁定軟體C的執行文件,文件F從主板BIOS中讀取主板的ID號,並同時檢測主板的ID號與置入的在文件F裡的主板ID號的一致性實現的,解決了軟體加密易被複製等問題,具有保密程度高、安全可靠、操作簡單和成本低廉等優點,廣泛適合於各種軟體機密使用。
文檔編號G06F1/00GK1584771SQ20041004277
公開日2005年2月23日 申請日期2004年5月27日 優先權日2004年5月27日
發明者翁金宏, 李嘉偉 申請人:深圳市宏宇新科技有限公司