[發(fā)明專利]一種程序保護方法和裝置有效
| 申請?zhí)枺?/td> | 201611089509.3 | 申請日: | 2016-11-30 |
| 公開(公告)號: | CN108121898B | 公開(公告)日: | 2022-08-05 |
| 發(fā)明(設(shè)計)人: | 王哲 | 申請(專利權(quán))人: | 西門子公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京康信知識產(chǎn)權(quán)代理有限責任公司 11240 | 代理人: | 趙冬梅 |
| 地址: | 德國*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 程序 保護 方法 裝置 | ||
涉及軟件工程技術(shù)領(lǐng)域,尤其涉及一種程序保護方法和裝置,用以防止程序被破解。在本發(fā)明實施例提供的一種程序保護方法中,一個目標程序運行在第一虛擬機上,該第一虛擬機的操作系統(tǒng)啟動過程中,運行第一解密程序,所述第一解密程序用于對所述目標程序所在的所述第一虛擬機的第一分區(qū)進行解密,在解密所述第一分區(qū)后,運行所述目標程序。通過對目標程序所在的分區(qū)進行加密,使得非法人員在無法對分區(qū)解密的情況下,無法直接接觸到目標程序,則無法破解目標程序。即使該虛擬機被非法進行硬盤映射,只要無法通過解密程序進行解密,非法人員就無法得到虛擬機內(nèi)的目標程序,極大地降低了目標程序被破解的風險。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件工程技術(shù)領(lǐng)域,尤其涉及一種程序保護方法和裝置。
背景技術(shù)
一個程序開發(fā)組織在完成程序開發(fā),交付程序之后,程序由于運行在該程序開發(fā)組織的外部網(wǎng)絡上,存在被破解的風險。
一種可能的情況是,一個程序被非法復制,非法復制者在接觸到程序本身后,利用逆向工程(reverse engineering)等技術(shù)破解出程序代碼。一旦程序代碼被破解,則程序中的核心技術(shù)會被竊取,程序開發(fā)組織將蒙受巨大的損失。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種程序保護方法和裝置,用以防止程序被破解。其中,通過采用分區(qū)加密等手段,避免程序本身被非法人員接觸到,從而降低了程序被破解的風險。
第一方面,本發(fā)明實施例提供一種程序保護方法,用于防止一個目標程序被破解。其中,該目標程序運行在第一虛擬機上,具體的保護方法包括:在所述第一虛擬機的操作系統(tǒng)啟動過程中,運行第一解密程序,比如:將第一解密程序放在虛擬機的操作系統(tǒng)的啟動項中,或者作為操作系統(tǒng)代碼的一部分寫入操作系統(tǒng)中。其中,所述第一解密程序用于對所述第一虛擬機的第一分區(qū)進行解密,所述第一分區(qū)中包括所述目標程序;在解密所述第一分區(qū)后,運行所述目標程序。若無法解密第一分區(qū),則目標程序無法運行。
通過對目標程序所在的分區(qū)進行加密,使得非法人員在無法對分區(qū)解密的情況下,無法直接接觸到目標程序,則無法破解目標程序。其中,將目標程序置于一個虛擬機上,即使該虛擬機被非法進行硬盤映射,只要無法通過解密程序的解密,非法人員就無法得到虛擬機內(nèi)的目標程序,極大地降低了目標程序被獲取甚至破解的風險。
在一種可能的實現(xiàn)方式中,可以將第一解密程序設(shè)計為:在第一解密程序運行時,判斷所述第一虛擬機的至少一個屬性中每一個屬性的取值與第二虛擬機該屬性的取值是否相同,其中,所述第二虛擬機是預設(shè)的用于運行所述目標程序的虛擬機;若所述第一虛擬機的所述至少一個屬性中的每一個屬性的取值與所述第二虛擬機該屬性的取值相同,則解密所述第一分區(qū);若所述第一虛擬機中的所述至少一個屬性中存在一個屬性,該屬性的取值與所述第二虛擬機該屬性的取值不同,則保持所述第一分區(qū)被加密。
若第一虛擬機為合法被授權(quán)的虛擬機,即第一虛擬機即為第二虛擬機,那么在第一解密程序?qū)μ摂M機屬性取值進行驗證時,則可以驗證通過,第一分區(qū)可以被解密。只有一個虛擬機自身才能獲得自己的屬性取值。因此,通過虛擬機屬性取值的驗證方法,可以確保虛擬機的合法性,即使虛擬機被非法進行硬盤映射,由于虛擬機屬性取值無法通過驗證,非法人員也無法解密,無法直接接觸到目標程序,進而也就無法通過逆向工程等方法破解程序代碼。
在一種可能的實現(xiàn)方式中,上述虛擬機的屬性可包括:虛擬機的操作系統(tǒng)的用戶名和密碼。
進一步地,上述虛擬機的屬性還可包括:虛擬機的處理器標識、硬盤標識、驅(qū)動標識以及用戶自定義的標識(比如一個用戶文件中的特定字節(jié))等。
在一種可能的實現(xiàn)方式中,所述目標程序由Java編寫或由一種解釋型語言編寫,所述解密程序由一種編譯型語言編寫。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西門子公司,未經(jīng)西門子公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611089509.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





