欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種通過加密可執(zhí)行程序文件實現(xiàn)軟件版權(quán)保護的方法

文檔序號:6463286閱讀:226來源:國知局
專利名稱:一種通過加密可執(zhí)行程序文件實現(xiàn)軟件版權(quán)保護的方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件版權(quán)保護技術(shù),特別涉及一種通過加密可執(zhí)行程序文件 文件實現(xiàn)軟件版權(quán)保護的方法。
背景技術(shù)
現(xiàn)代的軟件保護裝置,例如USB加密鎖,采用高強度智能卡芯片和先 進的密碼學技術(shù),具有一定的運算和存儲能力,同時難以被破解和復制,在 高強度軟件版權(quán)保護中具有廣泛的應(yīng)用。采用軟件保護裝置進行軟件版權(quán)保護的通常的方法是將其視作一個與 受保護軟件并行的運算平臺,將軟件中的一部分功能轉(zhuǎn)移到軟件保護裝置中 實現(xiàn),在軟件運行時調(diào)用這些功能。軟件破解者的目的是使得被保護軟件在 沒有連接軟件保護裝置時也能正常工作,或者制造可以克隆軟件保護裝置功 能的硬件裝置。理想情況下,受保護軟件的運行依賴于軟件保護裝置提供的 預算功能,而破解者又無法復制軟件保護裝置,因此可以很好的保護軟件版 權(quán)。但實際情況中,被移植到軟件保護裝置中軟件功能模塊必須具備一些要 求才能有效的抵御破解者的攻擊1 .被移植的模塊必須是軟件實際有用的功能,否則破解者只要將該功能 的調(diào)用跳過即可。2. 被移植的模塊必須具有一定的復雜性,且應(yīng)是非常見的算法,否則破解者很容易猜出其功能而用軟件的方式替換掉。3. 被移植的模塊的輸入輸出的數(shù)據(jù)空間必須足夠大,否則破解者可以監(jiān)測記錄軟件保護裝置所有交換數(shù)據(jù),構(gòu)造輸入輸出的數(shù)據(jù)庫,以軟件的方式替代。4.被移植的模塊的代碼量和運算量不能太大,這是因為軟件保護裝置的 運算能力有限,移植過多的代碼會嚴重影響軟件執(zhí)行的速度。由此可見,要找到軟件中滿足上述要求的功能模塊并非易事,通常要在 安全強度和運行效率之間權(quán)衡。另外,由于軟件保護裝置和PC主機是完全 不同的硬件運算平臺,軟件開發(fā)商需要將原先在PC上的功能在軟件保護裝 置的開發(fā)平臺上重新編程實現(xiàn),具有一定的技術(shù)難度,因此提高了軟件開發(fā) 和維護成本。發(fā)明內(nèi)容有鑒于此,本發(fā)明提出了 一種利用軟件保護裝置加密應(yīng)用程序的可執(zhí)行 程序文件進行軟件版權(quán)保護的方法。在保護程序的代碼同時無需進行代碼移 植,易于實現(xiàn),同時具有較高的保護強度。參見圖1,通過加密可執(zhí)行程序文件進行軟件保護的方法,具體包括 步驟101,軟件開發(fā)商將受保護軟件的可執(zhí)行程序文件中的部分內(nèi)容進 行加密處理,記錄加密處理信息,將加密密鑰保存在軟件保護裝置中。加密 處理信息可以以數(shù)據(jù)文件的形式保存在應(yīng)用軟件里,也可以存儲到軟件保護 裝置的數(shù)據(jù)區(qū)中。步驟102,軟件運行到被加密代碼段時調(diào)用預設(shè)的接口函數(shù),接口函數(shù) 根據(jù)被加密代碼段的信息,標記出被加密的代碼段的起始地址和結(jié)束地址, 讀出被加密部分數(shù)據(jù)。步驟103,軟件將加密數(shù)據(jù)和可選的其它信息發(fā)送到軟件保護裝置中, 軟件保護裝置對數(shù)據(jù)進行解密,將結(jié)果返回給軟件,軟件使用解密結(jié)果更新 內(nèi)存中的程序代碼,繼續(xù)執(zhí)行。根據(jù)本發(fā)明的 一個方面,提供一種通過加密可執(zhí)行程序文件實現(xiàn)軟件保 護的方法,其特征在于,該方法包括步驟A、對受保護的軟件中的部分內(nèi)容進行加密;B、 記錄加密處理信息;C、 將加密密鑰保存在軟件保護裝置中;D、 軟件運行到被加密的代碼段時,讀出被加密部分數(shù)據(jù);E、 將加密數(shù)據(jù)發(fā)送到軟件保護裝置中,軟件保護裝置對接收的加密數(shù) 據(jù)進行解密;F、 將解密結(jié)果返回給軟件,軟件利用解密結(jié)果更新內(nèi)存中的程序代碼。 根據(jù)本發(fā)明的一個方面,其特征還在于,加密處理信息可以以數(shù)據(jù)文件的形式保存在軟件中,或者保存到軟件保護裝置的數(shù)據(jù)區(qū)中。 根據(jù)本發(fā)明的一個方面,其特征還在于,步驟A中還包括 Al、選取受保護軟件中的多個代碼段,標記各個代碼段的起始位置和結(jié)束位置;A2、計算各個代碼段的長度;A3、對所選代碼段進行編號并加密;A4 、在被加密的代碼段之前插入預設(shè)的用于調(diào)用解密接口的指令。根據(jù)本發(fā)明的一個方面,其特征還在于,步驟B中的加密處理信息包 括由多個加密記錄信息組成的加密處理信息文件。根據(jù)本發(fā)明的一個方面,其特征還在于,加密記錄信息由代碼段編號、 代碼段被加密的起始位置和長度,以及加密密鑰編號構(gòu)成。根據(jù)本發(fā)明的一個方面,其特;f正還在于,步驟C中的加密密鑰為多個 密鑰。根據(jù)本發(fā)明的一個方面,其特征還在于,步驟C中在加密某個代碼段時隨機選取加密密鑰。根據(jù)本發(fā)明的一個方面,其特征還在于,步驟C中還包括將加密密鑰和加密處理信息文件存儲到軟件保護裝置中并發(fā)布給授權(quán)的軟件用戶。 根據(jù)本發(fā)明的一個方面,其特征還在于,步驟D中還包括 D1 、軟件運行到被加密代碼段時調(diào)用預設(shè)的接口函數(shù); D2、接口函數(shù)根據(jù)被加密代碼段的信息,標記出被加密的代碼段的起始地址和結(jié)束地址,讀出凈皮加密部分數(shù)據(jù)。根據(jù)本發(fā)明的 一個方面,其特征還在于,軟件運行到某個加密代碼段時, 執(zhí)行預設(shè)的解密接口,將該代碼段編號發(fā)送給軟件保護裝置,軟件保護裝置 從加密處理信息文件中找到該代碼段編號,返回代碼段被加密的起始位置和 長度。根據(jù)本發(fā)明的一個方面,其特征還在于,步驟E中還包括El、軟件根據(jù)代碼段被加密的起始位置和長度,從可執(zhí)行程序文件中讀 取相應(yīng)的加密數(shù)據(jù),將讀出的加密數(shù)據(jù)發(fā)送給軟件保護裝置;E2、軟件保護裝置根據(jù)加密處理信息中加密密鑰編號選擇解密密鑰,對 加密數(shù)據(jù)進行解密,返回結(jié)果。根據(jù)本發(fā)明的一個方面,其特征還在于,步驟F完成后繼續(xù)程序的執(zhí)行。根據(jù)本發(fā)明的一個方面,其特征還在于,將同一加密代碼段復制多份, 分別由不同的加密密鑰加密。根據(jù)本發(fā)明的一個方面,其特征還在于,由軟件保護裝置隨機選取其中 任意 一份加密代碼段進行解密。上述過程與軟件的功能無關(guān),對可執(zhí)行程序中任意的代碼段進行加密, 易于實現(xiàn)自動化的軟件保護方法,降低了軟件保護的技術(shù)難度和開發(fā)成本。 而使用基于硬件的軟件保護裝置,保證了密鑰和加密處理信息,提高了版權(quán) 保護的安全性。


圖1為本發(fā)明基于加密可執(zhí)行程序文件實現(xiàn)軟件保護方法的流程示意圖。圖2為本發(fā)明實施例中基于加密可執(zhí)行程序文件實現(xiàn)軟件保護方法的 流程示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉 實施例,對本發(fā)明進一步詳細說明。圖2為本發(fā)明實施例中基于加密可執(zhí)行程序文件實現(xiàn)軟件保護方法的 流程示意圖。步驟201,選取受保護軟件的若干代碼段,標記代碼段的起始和結(jié)束位 置并計算其長度,對所選代碼段進行加密。加密密鑰可以是多個,在加密某 個代碼段時隨機選取加密密鑰。在被加密的代碼段之前插入預設(shè)的用于調(diào)用 解密接口的指令。對上述代碼段進行編號。代碼段編號、代碼段被加密的起 始位置和長度,以及加密密鑰編號構(gòu)成一條加密記錄信息,所有代碼段的加 密處理信息組合成加密處理信息文件。步驟202,軟件開發(fā)商將加密密鑰和加密處理文件存儲到軟件保護裝置 中,發(fā)布給授權(quán)的軟件用戶。步驟203,軟件運行到某個加密代碼段時,執(zhí)行預設(shè)的解密接口,將該 代碼段編號發(fā)送給軟件保護裝置,軟件保護裝置從加密處理信息文件中找到 該代碼段編號,返回代碼段被加密的起始位置和長度。步驟204,軟件根據(jù)代碼段被加密的起始位置和長度從數(shù)據(jù)文件中讀取 相應(yīng)的加密代碼,發(fā)送給軟件保護裝置,后者根據(jù)加密處理信息中加密密鑰 編號選擇解密密鑰,對加密數(shù)據(jù)進行解密,返回結(jié)果。步驟205,軟件使用返回的解密數(shù)據(jù)更新內(nèi)存中的代碼段,繼續(xù)程序的 執(zhí)行。在實際應(yīng)用中,可以將同一加密代碼單元復制多份,由不同的加密密鑰 加密,由軟件保護裝置隨機選取任意一塊進行解密,軟件根據(jù)不同的選擇跳 轉(zhuǎn)到不同的代碼段執(zhí)行。這樣可以有效的增加數(shù)據(jù)空間,使得破解者難以分 析和復制輸入輸出數(shù)據(jù)。綜上所見,本發(fā)明提供了一種統(tǒng)一而便捷的利用軟件保護裝置進行軟件版權(quán)保護的方法,極大的降低了 一般的代碼移植方法的技術(shù)難度和軟件局限 性,具有易于實施和高安全強度的優(yōu)點。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范 圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進等, 均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1. 一種通過加密可執(zhí)行程序文件實現(xiàn)軟件保護的方法,其特征在于,該方法包括步驟A、對受保護的軟件中的部分代碼段內(nèi)容進行加密;B、記錄加密處理信息;C、將加密密鑰保存在軟件保護裝置中;D、軟件運行到被加密的代碼段時,讀出被加密部分數(shù)據(jù);E、將加密數(shù)據(jù)發(fā)送到軟件保護裝置中,軟件保護裝置對接收的加密數(shù)據(jù)進行解密;F、將解密結(jié)果返回給軟件,軟件利用解密結(jié)果更新內(nèi)存中的程序代碼。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,加密處理信息可以以數(shù) 據(jù)文件的形式保存在軟件中,或者保存到軟件保護裝置的數(shù)據(jù)區(qū)中。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中還包括Al、選取受保護軟件中的多個代碼段,標記各個代碼段的起始位置和 結(jié)束位置;A2、計算各個代碼段的長度;A3、對所選代碼段進行編號并加密;A4、在被加密的代碼段之前插入預設(shè)的用于調(diào)用解密接口的指令。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中的加密處理信 息包括由多個加密記錄信息組成的加密處理信息文件。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,加密記錄信息由代碼段 編號、代碼段被加密的起始位置和長度,以及加密密鑰編號構(gòu)成。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C中的加密密鑰為 多個密鑰。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟C中在加密某個代 碼^殳時隨才幾選取加密密鑰。
8、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C中還包括將加 密密鑰和加密處理信息文件存儲到軟件保護裝置中并發(fā)布給授權(quán)的軟件用 戶。.
9、 根據(jù)權(quán)利要求l-8所述的任一方法,其特征在于,步驟D中還包括 Dl、軟件運行到被加密代碼段時調(diào)用預設(shè)的接口函數(shù);D2、接口函數(shù)根據(jù)被加密代碼段的信息,標記出被加密的代碼段的起 始地址和結(jié)束地址,讀出被加密部分數(shù)據(jù)。
10、 根據(jù)權(quán)利要求9所述的方法,其特征在于,軟件運行到某個加密代 碼段時,執(zhí)行預設(shè)的解密接口,將該代碼段編號發(fā)送給軟件保護裝置,軟件 保護裝置從加密處理信息文件中找到該代碼段編號,返回代碼段被加密的起 始位置和長度。
11、 根據(jù)權(quán)利要求l-8所述的任一方法,其特征在于,步驟E中還包括 El、軟件根據(jù)代碼段被加密的起始位置和長度,從可執(zhí)行程序文件中讀取相應(yīng)的加密數(shù)據(jù),將讀出的加密數(shù)據(jù)發(fā)送給軟件保護裝置;E2、軟件保護裝置根據(jù)加密處理信息中加密密鑰編號選擇解密密鑰,對 加密數(shù)據(jù)進行解密,返回結(jié)果。
12、 根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟F完成后繼續(xù)程 序的執(zhí)行。
13、 根據(jù)權(quán)利要求l-8所述的方法,其特征在于,將同一加密代碼段復 制多份,分別由不同的加密密鑰加密。
14、 根據(jù)權(quán)利要求13所述的方法,其特征在于,由軟件保護裝置隨機 選取其中任意 一份加密代碼段進行解密。
全文摘要
本發(fā)明公開了一種通過加密可執(zhí)行程序文件實現(xiàn)軟件版權(quán)保護的方法。本發(fā)明在應(yīng)用程序發(fā)布時對可執(zhí)行程序中的若干程序代碼段進行加密處理,當程序運行到被加密部分時通過軟件保護裝置進行動態(tài)解密。由于解密密鑰保存在軟件保護裝置中,且解密過程是在軟件保護裝置中進行,而軟件保護裝置是具有極高安全強度的硬件設(shè)備,難以破解或復制,因此沒有軟件保護裝置將無法獲得原始的代碼而無法運行程序。本發(fā)明為軟件的版權(quán)保護提供了一種簡單、高效、安全的方法。
文檔編號G06F21/00GK101261666SQ20081010367
公開日2008年9月10日 申請日期2008年4月10日 優(yōu)先權(quán)日2008年4月10日
發(fā)明者孫吉平, 勇 韓 申請人:北京深思洛克數(shù)據(jù)保護中心
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
边坝县| 班戈县| 连南| 仙游县| 凤山县| 聊城市| 栾城县| 金坛市| 长武县| 济阳县| 新晃| 宝坻区| 连云港市| 长葛市| 肥东县| 洛浦县| 子长县| 图们市| 耿马| 高雄县| 昭通市| 新绛县| 砀山县| 阿拉善盟| 怀集县| 紫云| 新民市| 宝山区| 凌海市| 德庆县| 高邮市| 平乡县| 靖远县| 蒙阴县| 丰镇市| 天柱县| 六盘水市| 南通市| 务川| 库尔勒市| 北京市|