新四季網

一種控制軟體保護裝置中可執行文件執行的方法

2023-05-23 16:08:01

專利名稱:一種控制軟體保護裝置中可執行文件執行的方法
技術領域:
本發明涉及計算機安全領域,特別涉及一種控制軟體保護裝置中可執行文件執行的方法。
背景技術:
軟體作為一種特殊的產品,由於其純數位化的特徵,從問世起就一直遭受盜版的困擾。盜版的存在不僅給軟體開發者造成了巨大的損失,也極大阻礙了整個軟體行業的發展。因此,幾乎所有的軟體都採取了相應的技術措施來避免軟體遭受破解和盜版,其中最為有效的就是基於硬體的軟體保護裝置。軟體保護裝置是一種通過計算機硬體接口(諸如串口、並口、USB接口等多種接口)連接到計算機主機上的硬體設備。該設備內部具有非易失性存儲空間可供讀寫,通常還具有單片機或者微處理控制晶片等計算處理單元。軟體開發者可以通過接口函數和軟體保護裝置進行數據交換(即對軟體保護裝置進行讀寫),來檢查軟體保護裝置是否插在接口上;或者直接用軟體保護裝置附帶的工具進行加密。這樣,軟體開發者可以在軟體中設置多處軟體鎖,利用軟體保護裝置作為鑰匙來打開這些鎖;如果沒插軟體保護裝置或軟體保護裝置不對應,軟體將不能正常執行。此外,軟體保護裝置內部包含特定的功能,例如一部分存儲空間、一些密碼算法或者一些使用者自定義的算法或者功能。在軟體發行之前,軟體開發者修改自己的軟體代碼,使得軟體在運行過程中需要使用到軟體保護裝置內部的一些功能,這樣軟體離開軟體保護裝置之後就會無法運行,而軟體保護裝置作為一種硬體設備複製的難度較大,從而起到防止盜版軟體非法傳播的作用。當前市場上主要的軟體保護裝置包括:美國SafeNet公司的Sentinel Superpro>以色列Aladdin公司的Hasp HL、中國北京深思洛克數據保護中心的精銳IV、德國W1-Bu公司的WIBU-Key等。所有這些軟體保護裝置都提供了內置的存儲空間、私有或公開的密碼算法,當軟體運行過程中可以調用這些功能來檢驗是否屬於正版。其中北京深思洛克數據保護中心的精銳IV於2002年上市,其特點是採用了智慧卡晶片作為硬體的基礎,而且支持使用者將自己定義的功能寫入到軟體保護裝置內部,甚至可以直接將軟體的部分功能移植到軟體保護裝置內部完成,從而大大提高了軟體被盜版的難度,通常稱這種將自己定義的功能或者軟體的部分功能移植到軟體保護裝置內部的技術為代碼移植。北京深思洛克數據保護中心是本申請人的前身,現在對應網站為http://www.sense, com, cn/,其中詳細公開了本申請人開發的精銳IV型軟體保護裝置的具體參數性能和工作原理。在軟體版權保護領域,經常通過授權許可的方式對軟體保護裝置內的可執行文件的各種使用方式進行限制。關於軟體保護裝置內運行可執行文件這種技術的詳細描述,請參考本申請人以前申請的申請號為200610064823.6的發明專利申請,這部分內部不在本發明中進行詳細描述,而該申請全文引入本發明的說明書中以作為技術參考。具體而言,現有技術中例如通過限制所述可執行文件的使用次數、限制所述可執行文件的使用天數以及規定所述可執行文件使用的到期時間等,從而對軟體保護裝置內部的可執行文件進行特定方式的限制。其具體方式是在所述可執行文件運行之前,首先檢查與其關聯的授權文件來判定所述可執行文件是否可以運行。現有技術中通常的實現這種檢查、判斷的方式是:在軟體保護裝置內的可執行文件中添加驗證授權的邏輯代碼,從而驗證關聯的授權文件是否有效。但是這種方式必然會增加開發軟體保護裝置內可執行文件的複雜度,影響其工作效率,而且也容易出錯,增加了軟體正確運行的風險。更重要的是,如果需要對已發布的軟體添加授權或更改授權條件,由於驗證授權的邏輯已經存在於軟體保護裝置內的可執行文件中,所以就必須對所述可執行文件也進行更新,這樣更進一步地增加了升級軟體保護裝置內部授權功能的工作量。此外,現有技術中也提及一種控制方法,從而控制一個設備中的可執行文件的執行。參見申請號為200810098164.7的發明專利申請,其發明名稱為《控制用於IC卡的小應用程式運行的方法》。該技術中通過一個存儲在IC卡的存儲區中的平臺識別號來簡單判定在所述IC卡中運行的小應用程式是否可以執行,也就是說,能在該平臺上運行的小應用程式都必須能被該平臺所識別。但是,這種技術的判斷情況比較單一,無法進行更加靈活和豐富的判斷以滿足不同的開發和應用需求。而且這種技術在可執行文件沒有相關聯的授權文件時不能運行的,無法根據實際情況自行決定在沒有授權情況下是否可以執行,造成其使用範圍受到了一定程度的限制。另外,這種技術的應用場景範圍較窄,主要是應用在IC卡上,目的是防止其他人私自編寫的不被識別的應用程式在所述平臺上運行,以保護IC卡的合法使用。這種技術不能應用在軟體保護裝置中,軟體開發者在使用軟體保護裝置對其軟體產品進行保護時無法方便地對其中的可執行文件進行授權管理。此外,這種技術中的代碼編寫過程非常複雜,增加了代碼編寫的工作量、效率和成本。

發明內容
本發明的目的在於提供一種控制軟體保護裝置內可執行文件執行的方法,使得在開發所述軟體保護裝置內的可執行文件時只需考慮所述可執行文件本身的業務邏輯功能,而不必考慮添加驗證授權和管理授權的邏輯代碼。所述軟體保護裝置可以自動查找到所述可執行文件關聯的授權文件並驗證各授權項是否有效,並且在驗證通過後由所述軟體保護裝置來修改所述授權文件的各授權項。另外,本發明應用在軟體保護裝置中,目的是為了方便軟體開發者在使用所述軟體保護裝置對其軟體產品進行保護時,對其中的可執行文件進行授權管理,擴大了軟體保護裝置的易用性。根據本發明的一個方面,一種控制軟體保護裝置內的可執行文件執行的方法,所述軟體保護裝置是用於軟體保護的硬體設備,該方法包括如下步驟:步驟1:所述軟體保護裝置接收到受保護軟體發出的運行可執行文件的命令時,檢查所述軟體保護裝置中是否存在與所述可執行文件關聯的授權文件;步驟2:如果存在與所述可執行文件相關聯的授權文件,則檢查所述授權文件並判斷所述授權文件中的授權項是否符合預定條件,從而確定在是否在所述軟體保護裝置內執行所述軟體保護裝置中的可執行文件;步驟3:如果不存在與所述可執行文件相關聯的授權文件,則根據預先確定的執行規則,確定在是否在所述軟體保護裝置內執行所述軟體保護裝置中的可執行文件。根據本發明方法的一個方面,在步驟I中,所述軟體保護裝置根據預定的關聯對應關係,檢查所述軟體保護裝置中是否存在與所述可執行文件相關聯的授權文件。根據本發明方法的一個方面,在步驟2中,當所述授權項中的一個授權項符合預定條件時,執行所述軟體保護裝置內的所述可執行文件,或者當所述授權項中的多個授權項都符合預定條件時,執行所述軟體保護裝置內的所述可執行文件。根據本發明方法的一個方面,由所述軟體保護裝置的開發者或者使用者設定所述可執行文件與所述授權文件的關聯方式。根據本發明方法的一個方面,所述可執行文件與所述授權文件的關聯方式包括:自動關聯所述可執行文件和所述授權文件,或者手動關聯所述可執行文件和所述授權文件。根據本發明方法的一個方面,執行所述可執行文件之後,所述軟體保護裝置修改所述授權文件中的授權項的值,然後將修改後的所述授權項的值保存到所述授權文件中。。


圖1是按照本發明一個實施例的在軟體保護裝置上的可執行文件和授權文件的一種關聯方式示意圖。圖2是對比現有技術與本發明的流程示意圖。圖3是根據圖1的關聯方式來運行軟體保護裝置內的一個可執行文件時的流程圖。圖4是按照本發明另一個實施例的在軟體保護裝置上的可執行文件和授權文件的另一種關聯方式示意圖。圖5是根據圖4的關聯方式來運行軟體保護裝置內的一個可執行文件時的流程圖。
具體實施例方式為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉實施例,對本發明進行進一步詳細說明。本發明是通過檢查可執行文件的各項授權內容來判定是否可以執行,判斷條件比現有技術更加靈活和豐富,而且在可執行文件沒有相關聯的授權文件時也不是一定不能運行的,可以根據實際情況自行決定在沒有授權情況下是否可以執行,從而增加了可執行文件的執行靈活度。根據本發明的一個具體實施方式
,本發明中的軟體保護裝置為用於軟體版權保護的硬體設備,從硬體結構角度而言,包括微控制器單元(Micro Control Unit,下稱MCU)、存儲器以及用於與計算機主機相連接的接口模塊。根據本發明的一個具體實施方式
,所述的存儲器與MCU相連接,用於保存的數據。所述存儲器包括但不限於非易失性存儲器、易失性存儲器。根據本發明的一個具體實施方式
,所述的接口模塊與MCU相連接,負責MCU與計算機主機之間的通信。所述的接口模塊包括但不限於串行接口、並行接口、1394接口、射頻識別(RFID)接口、無線區域網接口(IEEE802.11接口等)、通用串行總線(USB)接口、藍牙接口、紅外接口、無線保真(W1-Fi)接口、ISO 7816串行等。根據本發明的一個具體實施方式
,所述MCU、存儲器、接口模塊也可以集成到同一個晶片中,由單一的晶片提供所有的功能。根據本發明的一個具體實施方式
,軟體保護裝置內部的功能模塊包括:通信模塊、存儲模塊、文件系統、授權管理模塊。作為一種實施例,軟體保護裝置中的這些模塊都是通過軟體代碼實現的,類似於Windows作業系統運行在計算機硬體上一樣,所述多個模塊運行在軟體保護裝置的硬體晶片上。當然,本領域的技術人員根據本發明所揭示和教導的內容,完全能夠採用其它的方式(包括但不限於硬體、固件、軟體的形式)來實現這些模塊以完成類似的功能,或者對這些模塊進行更進一步的合併、拆分、組合以實現類似的功能。總之,在此僅描述本發明的核心思想和具體實施例,並不意味著本發明的實施以及要求保護的範圍僅受具體實施例的限制。其中,通信模塊,用於軟體保護裝置與計算機主機之間的通信。通信方式包括但不限於串行接口通信、並行接口通信、1394接口通信、射頻識別(RFID)接口通信、無線區域網接口(IEEE802.11接口等)通信、通用串行總線(USB)接口通信、藍牙接口通信、紅外接口通信、無線保真(W1-Fi)接口通信、ISO 7816串行通信等。存儲模塊,用於存儲使用者移植到軟體保護裝置內部的可執行代碼,當+需要啟動軟體保護裝置內部的使用者進程時,進程管理模塊會到存儲模塊中找到對應的代碼,然後執行。文件系統,用於存儲和管理軟體保護裝置中的各種文件。授權管理模塊,用於實現通過軟體保護裝置的硬體自動管理授權文件。該模塊用於管理軟體保護裝置內的可執行文件和授權文件的關聯方式、修改授權文件各授權項的值以及在沒有關聯的可執行文件和授權文件時控制是否運行軟體保護裝置內的可執行文件等操作。根據本發明的一個具體實施方式
,實現本發明的操作步驟包括:步驟A:軟體保護裝置通過其通信模塊接收到受保護軟體發出的運行可執行文件的命令時,首先由軟體保護裝置的授權管理模塊檢查所述可執行文件是否存在關聯的授權文件。具體而言,軟體保護裝置內的可執行文件和授權文件是否關聯是根據預先確定的關聯規則進行判斷的。作為一種示例,可以有兩種方式進行判斷:一種是由軟體保護裝置的開發者來定義所述關聯規則。作為一種示例,例如通過文件名相同、擴展名不同的方式將可執行文件和授權文件相關聯。如果採用這種關聯方式,軟體保護裝置的開發者需要將這種關聯規則以程序代碼形式寫入軟體保護裝置的授權管理模塊。這樣,每次在執行可執行文件時,都會通過這種固定的方式來檢查是否存在與所執行的可執行文件相關聯的授權文件。這種關聯方式稱為自動關聯方式。所謂自動關聯就是軟體保護裝置內的授權管理模塊預先定義了一套可執行文件和授權文件相關聯的規則,當需要杳找關聯文件時軟體保護裝置按照這套預定義規則自動杳找可執行文件相關聯的授權文件或者授權文件相關聯的可執行文件。在下載一對關聯文件時也需要按照這種規則約定這兩個文件,比如規則為文件名相同,擴展名不同的兩個文件相關聯,那麼下載到軟體保護裝置內的兩個文件名相同擴展名不同的可執行文件和授權文件便可以自動關聯上了。另一種是由使用者指定軟體保護裝置內的某個可執行文件和某個授權文件相關聯。作為一種示例,這種關聯的實現方式是在軟體保護裝置的授權管理模塊內維護一個關聯表,記錄使用者指定的可執行文件和授權文件的關聯對,而在使用者使用時則可以提供若干個操作關聯表的應用程式接口函數(API函數)。通過這些函數在所述關聯表上添加、刪除、查詢和修改關聯記錄。這樣,在運行可執行文件之前,由軟體保護裝置的授權管理模塊來檢查待運行的可執行文件是否在關聯表內存在與其相對應的授權文件。這種關聯方式稱為手動關聯方式。所謂手動關聯是指軟體保護裝置內的可執行文件和授權文件是否關聯是由軟體保護裝置的用戶來定義,可以通過API提供的接口或其他方式告訴軟體保護裝置哪些文件是關聯的,軟體保護裝置就可以記錄下這些關聯的文件,將來杳找相關聯的文件時只需要杳找關聯記錄即可。作為一種示例,步驟A中所述檢查流程為:軟體保護裝置接收到運行可執行文件的命令時,首先通過授權管理模塊檢查待運行的可執行文件是否存在關聯的授權文件;如果存在關聯的授權文件,則開始檢查此授權文件;如果不存在關聯的授權文件,則直接開始執行可執行文件或者不執行。其中當不存在關聯的授權文件時,是否執行可執行文件也可由軟體保護裝置的開發者預先確定。當不存在關聯的授權文件時執行可執行文件,意味著不強制要求所有的可執行文件都具有與之相關聯的授權文件對其進行限制。當不存在關聯的授權文件時不執行可執行文件,則意味所有可執行文件都強制要求具有與之相關聯的授權文件。作為一種具體實施方式
,這種預先確定的規則是需要以程序代碼形式寫入軟體保護裝置的授權管理模塊中。一旦寫入後,軟體保護裝置的使用者不能修改這種預先確定的規則。當然為了靈活起見,作為另一種具體實施方式
,將由開發者規定的關聯規則和使用者規定的關聯規則都寫入授權管理模塊,以應用程式接口(API)的形式為使用者留出一個可供選擇的應用程式接口,以便使用者能夠指定採用何種預先確定的關聯規則。步驟B:如果不存在與所述可執行文件相關聯的授權文件,則根據上述預先定義的規則,確定是否在軟體保護裝置內執行或不執行所述軟體保護裝置內的可執行文件;步驟C:如果存在與所述可執行文件相關聯的授權文件,則開始檢查授權文件。舉例而言,授權文件是存儲對軟體保護裝置內其他文件的使用權限的授權的文件,一般以TLV(Tag-Length-Value)結構存儲,T代表後續VALUE的意義,L指明VALUE的長度,VALUE是真正的數據。和其他文件一樣,授權文件也存放在軟體保護裝置的文件系統中。而授權項是授權文件內具體的授權內容,採用TLV格式表示,例如限制使用次數的授權項可以表示為0x00 0x04 0x00 OxFF 0x00 0x00 0x00,第一個字節0x00是使用次數的標誌,第二個字0x04 0x00是表示後續Value的長度為4,最後4個字節OxFF 0x000x00 0x00表示可用的次數為OxFF即255次。然後判斷各授權項是否滿足條件,即,授權文件的各個授權項是否都是合法的。例如可用次數的授權項為255,而授權文件中記錄的已用次數小於255則認為該授權項是滿足條件的,否則不滿足條件。並根據檢查結果,決定是否執行所述可執行文件。根據本發明的一個具體實施方式
,步驟A中檢查軟體保護裝置內可執行文件相關聯的授權文件是否存在,其關聯方式可以有多種選擇,例如通過匹配文件名或文件的其他屬性來自動關聯所述可執行文件和所述授權文件,或者通過人工手動指定的方式來指定一對可執行文件和授權文件相關聯。其中所述文件的其他屬性還包括文件的大小、類型、修改時間等。根據本發明的一個具體實施方式
,步驟B中如果檢查到所述可執行文件不存在與之相關聯的授權文件,則根據預先定義的規則來決定是否予以執行。其中,預先定義的規則包括:如果沒有關聯的授權文件,則軟體保護裝置內的可執行文件直接開始執行,即不強制要求所述可執行文件必須有關聯的授權文件才允許在軟體保護裝置上執行;如果沒有關聯的授權文件,則軟體保護裝置內的可執行文件不予以執行,即強制要求所述可執行文件必須有關聯的授權文件才允許在軟體保護裝置上運行。根據本發明的一個具體實施方式
,步驟C中對於檢查授權項的結果,是所有授權項必須都滿足條件才執行軟體保護裝置內的可執行文件,或者只要滿足一項授權項的條件即可執行軟體保護裝置內的可執行文件。下面結合具體實施例,對本發明的技術內容進一步闡述。對於本領域的技術人員而言,本實施例僅是為了說明本發明的應用簡化實施例。本領域的技術人員很明顯知道,實際的應用過程可能比這個例子複雜得多,但是其並未脫離本發明的具體思想。此外,所述軟體保護裝置中存在文件系統,其中的文件系統用於存放可執行文件、授權文件、數據文件、密鑰文件等多種文件,並且支持多級目錄結構。軟體保護裝置在接受到主機的執行文件命令時,在軟體保護裝置內部運行可執行文件,並且將運行結果發送到主機。關於軟體保護裝置的結構和工作原理請參考本申請人之前的中國發明專利申請200610064823.6。實施例1根據本發明的一個具體實施方式
,參考圖1,由於軟體保護裝置的文件系統支持多級目錄,所以在本實施例中,可執行文件存放在軟體保護裝置的文件系統中exe目錄下,而授權文件存放在license目錄下。當運行軟體保護裝置的文件系統中exe目錄下的可執行文件test時,在軟體保護裝置的文件系統中license目錄下根據是否存在相同的文件名「test」,查找license目錄下是否存在與可執行文件test其關聯的授權文件test。軟體保護裝置中的文件系統及其中可執行文件與授權文件相互關聯的情況如圖1所示。實施例1中採用的關聯方式為上述兩種方式的第一種,即自動關聯。關聯規則是由軟體保護裝置的開發者在生產軟體保護裝置時以程序代碼形式寫入所述軟體保護裝置的授權管理模塊中。很明顯,exe目錄和license目錄這兩個目錄既可以由軟體保護裝置的開發者建立也可以由使用者建立。關聯的規則已經在所述軟體保護裝置的授權管理模塊中預先定義過了,即,僅在運行exe目錄中的可執行文件時自動查找license目錄下的同名授權文件與其關聯。也就是說,該方式下通過在兩個目錄中查找相同文件名的文件的方式來確定兩者之間的關聯關係。根據本發明的一個具體實施方式
,在本實施例中,授權文件包含三個授權項:使用次數、使用天數和到期時間。分別約束與其關聯的可執行文件可以使用的次數、天數和到期時間。另外,授權文件test中還包含兩個授權項:已用次數和已用天數,分別記錄與其關聯的可執行文件已經使用的天數和次數。圖3是根據本發明所述方法來運行軟體保護裝置內的一個可執行文件test時的流程圖。如圖3所示,軟體保護裝置執行軟體保護裝置文件系統中exe目錄下的可執行文件test時的步驟如下:步驟201:軟體保護裝置接收到由受保護軟體發出的運行可執行文件test的命令,開始查找軟體保護裝置的文件系統中license目錄下的授權文件test,並進入步驟202 ;步驟202:判斷license目錄下是否存在授權文件test。如果軟體保護裝置中的授權管理模塊通過調用軟體保護裝置中的文件系統從而判斷出所述license目錄下不存在授權文件test,則直接跳轉到步驟208,開始執行所述exe目錄中的可執行文件test ;否則,如果license目錄中存在授權文件test,則進行下一步檢查授權項;否則直接開始運行裝置內的可執行文件。具體而言,在存在授權文件test時,則由軟體保護裝置中的授權管理模塊開始檢查授權文件test的各授權項。根據本發明的一個實施方式,檢查的邏輯代碼是由軟體保護裝置的開發者寫入軟體保護裝置的授權管理模塊中。這些檢查的邏輯代碼比如是檢查可用次數授權項,其實現是通過比較已用次數授權項是否小於可用次數授權項來判斷此項是否合法。如果授權項都是滿足條件的,則開始運行軟體保護裝置內的可執行文件;否則不予執行,進入步驟203。步驟203:檢查授權文件test中所包含的三個授權項:使用次數、使用天數和到期時間,分別約束與其關聯的可執行文件可以使用的次數、天數和到期時間。並且檢查授權文件test中還包含的兩個授權項:已用次數和已用天數,分別記錄與其關聯的可執行文件已經使用的天數和次數。當檢查使用次數時,進入步驟204;當檢查使用天數時,進入步驟205 ;當檢查到期時間時,進入步驟206。步驟204,通過軟體保護裝置的授權管理模塊檢查可執行文件test的已用次數是否小於授權文件test的使用次數授權項的值。其具體方式是通過讀取授權文件的內容獲取各授權項的值,而各授權項的格式為TLV格式。注意,無需比較全部不同的授權項,而只針對對應的授權項進行比較。例如可用次數和已用次數比較,可用天數和已用天數比較等。如果所有的授權項都是合法的,則允許運行軟體保護裝置內的可執行文件,否則不允許執行軟體保護裝置內的可執行文件。即,根據示例,如果可執行文件test的已用次數小於授權文件test的使用次數授權項的值,則進入步驟205,檢查使用天數;否則,進入步驟209。步驟205:按照類似的方式,檢查可執行文件test的已用天數是否小於授權文件test的使用天數授權項的值,如果可執行文件test的已用天數小於授權文件test的使用天數授權項的值,則進入步驟206檢查到期時間;否則,進入步驟209。步驟206:按照類似的方式,檢查授權文件test的到期時間授權項的值是否小於當前時間。具體而言,到期時間的授權項的值應該和軟體保護裝置的系統當前時間比較,而不是與授權文件中的其他授權項進行比較。關於如何獲取系統當前時間則屬於現有技術,無需贅述。如果檢查出授權文件test的到期時間授權項的值小於當前時間,則進入步驟207修改各授權項的值;否則進入步驟209。步驟207:軟體保護裝置的授權管理模塊修改授權文件test的已用次數和已用天數授權項的值,然後將其保存到授權文件中。即,修改授權文件的內容然後通過軟體保護裝置的文件系統將修改後的新內容重新寫入授權文件,然後進入步驟208。步驟208:運行可執行文件test。步驟209:退出。實施例2區別於實施例1,實施例2在軟體保護裝置內的可執行文件和授權文件的關聯方式上採用預先設定的關聯,並且在運行軟體保護裝置內的可執行文件時檢查不到關聯的授權文件的情況下不予執行,即強制每個可執行文件都必須有相應的授權文件。實施例2中採用的關聯方式為上述兩種方式的第二種,即手動關聯。如圖4所示,軟體保護裝置內的授權管理模塊中維護著一張關聯表,記錄著軟體保護裝置內的可執行文件和授權文件的關聯對,例如可執行文件Test與授權文件Lic之間的關聯。軟體保護裝置的文件系統內則保存有可執行文件Test和授權文件Lie。這種關聯關係是手動設定的。圖5是所述軟體保護裝置在運行可執行文件Test時的流程圖,其步驟如下所述:步驟401:軟體保護裝置接受到計算機主機發送過來的運行可執行文件Test的命令。首先由軟體保護裝置中的授權管理模塊來處理此命令,然後跳轉到步驟402 ;步驟402:所述授權管理模塊檢查其維護的關聯表,判斷是否存在與可執行文件Test相關聯的授權文件。如果不存在與Test相關聯的授權文件,則跳轉到步驟409退出,即不執行可執行文件Test ;如果存在,與Test相關聯的授權文件,則跳轉到步驟403,開始檢查與可執行文件Test關聯的授權文件的各授權項;步驟403:讀取授權文件Lie,開始檢查各授權項;步驟404:檢查使用次數是否有效,S卩,使用次數是否大於已用次數,大於則為有效,否則為無效。如果此項檢查通過則跳轉到步驟405開始檢查下一項,否則跳轉到步驟409退出,即不執行Test ;步驟405:檢查使用天數是否有效,即使用天數是否大於已用天數,大於則為有效,否則為無效。如果此項檢查通過則跳轉到步驟406開始檢查下一項,否則跳轉到步驟409退出,即不執行Test ;步驟406:檢查到期時間是否有效,即到期時間是否大於軟體保護裝置的系統當前時間,大於則為有效,否則為無效。如果此項檢查通過則跳轉到步驟407修改各授權項的值,否則跳轉到步驟409退出,即不執行Test ;步驟407:修改授權文件Lic的已用次數、已用天數授權項的值,跳轉到步驟408開始執行Test ;步驟408:執行 Test ;步驟409:退出,即不執行Test。上述多種情況的變形是本領域的技術人員很容易想到的,因此上述舉例僅僅是示意性說明,而無法涵蓋軟體保護領域的各種情況。本發明的核心構思是軟體保護裝置通過判斷軟體保護裝置中可執行文件與授權文件之間的關聯來實現現有技術中無法實現的可執行文件的靈活應用。在此基礎之上,其它各種調用順序、處理順序的變形、各種可進行設置的關聯規則及各種執行規則均是很容易想到的,無需在本發明的說明書中進行窮盡式的描寫。以上所述包括有本發明的例子。當然,為了描述本發明的目的,描述每個可以想見的組件或方法的組合是不現實的,但是,本領域的技術人員會認識到,許多進一步的組合和輪換對本發明來說是可能的。因此,本發明旨在包含所有這樣的落在所附權利要求書的精神和範圍之內的變更、改進和變化。此外,以本說明書和權利要求書為限,術語「具有」類似於術語「包括」。
權利要求
1.一種控制軟體保護裝置內的可執行文件執行的方法,所述軟體保護裝置是用於軟體保護的硬體設備,其特徵在於, 該方法包括如下步驟: 步驟1:所述軟體保護裝置接收到受保護軟體發出的運行可執行文件的命令時,檢查所述軟體保護裝置中是否存在與所述可執行文件關聯的授權文件; 步驟2:如果存在與所述可執行文件相關聯的授權文件,則檢查所述授權文件並判斷所述授權文件中的授權項是否符合預定條件,從而確定在是否在所述軟體保護裝置內執行所述軟體保護裝置中的可執行文件; 步驟3:如果不存在與所述可執行文件相關聯的授權文件,則根據預先確定的執行規貝U,確定在是否在所述軟體保護裝置內執行所述軟體保護裝置中的可執行文件。
2.根據權利要求1的控制軟體保護裝置內的可執行文件執行的方法,其特徵在於,在步驟I中, 所述軟體保護裝置根據預定的關聯對應關係,檢查所述軟體保護裝置中是否存在與所述可執行文件相關聯的授權文件。
3.根據權利要求1-2的控制軟體保護裝置內的可執行文件執行的方法,其特徵在於,在步驟2中, 當所述授權項中的一個授權項符合預定條件時,執行所述軟體保護裝置內的所述可執行文件,或者 當所述授權項中的多個授權項都符合預定條件時,執行所述軟體保護裝置內的所述可執行文件。
4.根據權利要求1-3的控制軟體保護裝置內的可執行文件執行的方法,其特徵在於,由所述軟體保護裝置的開發者或者使用者設定所述可執行文件與所述授權文件的關聯方式。
5.根據權利要求1-4的控制軟體保護裝置內的可執行文件執行的方法,其特徵在於,所述可執行文件與所述授權文件的關聯方式包括:自動關聯所述可執行文件和所述授權文件,或者手動關聯所述可執行文件和所述授權文件。
6.根據權利要求1-5的控制軟體保護裝置內的可執行文件執行的方法,其特徵在於,執行所述可執行文件之後,所述軟體保護裝置修改所述授權文件中的授權項的值,然後將修改後的所述授權項的值保存到所述授權文件中。
全文摘要
本發明涉及一種控制軟體保護裝置內可執行文件執行的方法。軟體保護裝置內的可執行文件執行前由所述軟體保護裝置自動檢查與所述可執行文件關聯的授權文件並根據檢查結果決定所述可執行文件是否可以執行。這樣在編寫需要授權限制的可執行文件時只需考慮業務邏輯代碼部分而不用再添加驗證授權和管理授權的邏輯代碼,提高了軟體保護裝置的易用性。
文檔編號G06F21/12GK103164640SQ20111040776
公開日2013年6月19日 申請日期2011年12月8日 優先權日2011年12月8日
發明者孫吉平, 韓勇 申請人:北京深思洛克軟體技術股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀