新四季網

一種保護Java軟體的方法及裝置製造方法

2023-07-24 15:17:21

一種保護Java軟體的方法及裝置製造方法
【專利摘要】本發明提供一種保護Java軟體的方法及裝置,涉及軟體保護【技術領域】,其中方法包括如下步驟:調用第一外部程序對已加密的License文件進行License文件解密,將License文件解密後的數據寫入到緩存中,所述的第一外部程序為第一已加密的Java程序或者為第一非Java程序。通過第一外部程序對License文件解密,而不使用Java軟體直接解密,避免了Java軟體直接解密而造成解密過程的洩露。從而避免了非法用戶知道如何對License文件進行篡改,最終避免了對Java軟體的非法使用,達到保護Java軟體的目的。
【專利說明】—種保護Java軟體的方法及裝置
【技術領域】
[0001]本發明涉及軟體保護【技術領域】,尤其涉及一種保護Java軟體的方法及裝置。
【背景技術】
[0002]Java是一種跨平臺的、解釋型語言。Java編譯工具將Java原始碼被編譯成為Java字節碼文件,由Java虛擬機負責對Java字節碼文件進行解釋執行。對於傳統的C或C++之類的語言來說,要在Web上保護原始碼是很容易的,只要不發布原始碼就可以。遺憾的是,Java程序的原始碼很容易被人破解。只要有一個反編譯器,任何人都可以分析別人的代碼,Java的靈活性使得原始碼很容易被竊取。現有的商用軟體在出售或試用時都會帶有授權的License (許可)文件,License文件中包含了對軟體使用範圍的限制,如試用版的軟體無法使用某些功能,完整版的軟體的使用期限等。而由於Java原始碼很容易被竊取,而後根據Java原始碼即可修改License文件,並最終導致商用軟體的開發者的勞動成果被剽竊或者商用軟體被篡改,而隨著Java語言的流行,Java的應用領域越來越廣泛,對於Java軟體的保護的需求也越來越迫切。

【發明內容】

[0003]本發明要解決的技術問題,在於提供一種保護Java軟體的方法及裝置,解決Java原始碼容易被反編譯而導致License文件可被非法篡改的問題。
[0004]本發明是這樣實現的:
[0005]一種保護Java軟體的方法,包括如下步驟:
[0006]調用第一外部程序對已加密的License文件進行License文件解密,將License文件解密後的數據寫入到緩存中,所述的第一外部程序為第一已加密的Java程序或者為第一非Java程序。
[0007]進一步地,當所述的第一外部程序為第一已加密的Java程序時,則License文件解密的具體步驟為:調用自定義類加載器解密並加載已加密的第一 class類,而後使用解密後的第一 class類對已加密的License文件進行License文件解密。
[0008]進一步地,當所述的第一外部程序為第一非Java程序時,則License文件解密的具體步驟為:使用JNI接口調用第一非Java程序對已加密的License文件進行License文件解密。
[0009]進一步地,在License文件解密步驟之前還包括License文件合法性驗證步驟:對License文件進行合法性驗證,如果驗證結果為合法,則繼續進行License文件解密步驟,否則不進行License文件解密步驟。
[0010]進一步地,所述對License文件進行合法性驗證具體為:調用第二外部程序對License文件進行合法性驗證,所述的第二外部程序為第二已加密的Java程序或者為第二非Java程序。
[0011]進一步地,當所述的第二外部程序為第二已加密的Java程序時,則調用第二外部程序對License文件進行合法性驗證的具體步驟為:調用自定義類加載器解密並加載已加密的第二 class類,而後使用解密後的第二 class類對License文件進行合法性驗證。
[0012]進一步地,當所述的第二外部程序為第二非Java程序時,則調用第二外部程序對License文件進行合法性驗證的具體步驟為:使用JNI接口調用第二非Java程序對License文件進行合法性驗證。
[0013]進一步地,所述的第二非Java程序為C或C++程序。
[0014]進一步地,所述合法性驗證的具體步驟為:使用公鑰和數字籤名進行合法性驗證。
[0015]進一步地,所述的第一非Java程序為C或C++程序。
[0016]進一步地,讀取緩存中的License文件解密後的數據,判斷License文件解密後的數據是否合法,如果License文件解密後的數據是合法,則繼續執行Java軟體,否則停止執行Java軟體。
[0017]以及本發明為了保護Java軟體不被非法使用,還提供一種保護Java軟體的裝置,包括如下模塊:
[0018]第一解密模塊:用於調用第一外部程序對已加密的License文件進行License文件解密,得到License文件解密後數據;
[0019]緩存寫入模塊:用於將License文件解密後的數據寫入到緩存中;
[0020]其中,所述的第一外部程序為第一已加密的Java程序或者為第一非Java程序。
[0021]進一步地,當所述的第一外部程序為第一已加密的Java程序時,則第一解密模塊包括如下單元:
[0022]類加載單元:用於調用自定義類加載器解密並加載已加密的第一 class類;
[0023]類解密單元:用於使用解密後的第一 class類對已加密的License文件進行License文件解密。
[0024]進一步地,當所述的第一外部程序為第一非Java程序時,則第一解密模塊包括如下單元:
[0025]JNI接口調用單元:用於使用JNI接口調用第一非Java程序;
[0026]非Java程序解密單元:用於對已加密的License文件進行License文件解密。
[0027]進一步地,還包括合法性驗證模塊:用於對License文件進行合法性驗證,如果驗證結果為合法,則使能第一解密模塊,否則不使能第一解密模塊。
[0028]進一步地,所述合法性驗證模塊具體包括如下單元:
[0029]外部程序調用單元:用於調用第二外部程序;
[0030]合法性驗證單元:用於對License文件進行合法性驗證
[0031]其中:所述的第二外部程序為第二已加密的Java程序或者為第二非Java程序。
[0032]進一步地,當所述的第二外部程序為第二已加密的Java程序時,則外部程序調用單元包括如下子單元:
[0033]類加載子單元:用於調用自定義類加載器解密並加載已加密的第二 class類。
[0034]進一步地,當所述的第二外部程序為第二非Java程序時,則外部程序調用單元包括如下子單元:
[0035]JNI接口調用子單元:用於使用JNI接口調用第二非Java程序。
[0036]進一步地,所述的第二非Java程序為C或C++程序。[0037]進一步地,所述合法性驗證單元具體為公鑰合法性驗證單元:用於使用公鑰和數字籤名進行合法性驗證。
[0038]進一步地,所述的第一非Java程序為C或C++程序。
[0039]進一步地,還包括數據讀取模塊和判斷模塊,其中:
[0040]讀取模塊用於讀取緩存中的License文件解密後的數據;
[0041]判斷模塊用於判斷License文件解密後的數據是否合法,如果License文件解密後的數據是合法,則繼續執行Java軟體,否則停止執行Java軟體。
[0042]本發明具有如下優點:通過第一外部程序對License文件解密,而不使用Java軟體直接解密,避免了 Java軟體直接解密而造成解密過程的洩露。從而避免了非法用戶知道如何對License文件進行篡改,最終避免了對Java軟體的非法使用,達到保護Java軟體的目的。
【專利附圖】

【附圖說明】
[0043]圖1為本發明的方法流程圖;
[0044]圖2為本發明的生成License文件以及生成公鑰和私鑰的方法流程圖;
[0045]圖3為本發明的優選實施例的系統結構示意圖;
[0046]圖4為本發明的另一優選實施例的系統結構示意圖;
[0047]標號說明:
[0048]1、第一解密模塊,
[0049]10、類加載單元,
[0050]11、類解密單元,
[0051]12、JNI接口調用單元,
[0052]13、非Java程序解密單元,
[0053]2、緩存寫入模塊,
[0054]3、數據讀取模塊,
[0055]4、判斷模塊,
[0056]5、合法性驗證模塊,
[0057]50、外部程序調用單元,
[0058]500、類加載子單元,
[0059]501、JNI接口調用子單元,
[0060]51、合法性驗證單元。
【具體實施方式】
[0061]為詳細說明本發明的技術內容、構造特徵、所實現目的及效果,以下結合實施方式並配合附圖詳予說明。
[0062]首先對實施例中涉及到的若干術語進行說明:
[0063]JNI是Java Native Interface的簡稱,也就是Java本地接口。它提供了若干的API實現了和Java和其他語目的通/[目。
[0064]公鑰和私鑰是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰)其中的一個向外界公開,稱為公鑰;另一個自己保留,稱為私鑰。通過這種算法得到的密鑰對能保證在世界範圍內是唯一的。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數據,必須用另一個密鑰解密。
[0065]數字籤名(又稱公鑰數字籤名、電子籤章)是一種類似寫在紙上的普通的物理籤名,但是使用了公鑰加密領域的技術實現,用於鑑別數字信息的方法。
[0066]請參閱圖1,本發明提供一種保護Java軟體的方法,用於保護Java軟體不被非法使用,本方法可以在計算機系統中執行。Java軟體運行後首先進行步驟SlOl:調用第一外部程序對已加密的License文件進行License文件解密,而後步驟S102將License文件解密後的數據寫入到緩存中,將解密後的數據寫入緩存後Java軟體或者其他子程序可以共享License文件解密後的數據,從而無需每次想獲取到License文件中的數據,每次都得解密License文件這個重複的過程,緩存可以是某一塊內存地址或硬碟地址,緩存信息可以由Java軟體進行傳遞。為了保證License文件的解密算法不被獲取,第一外部程序為第一已加密的Java程序或者為第一非Java程序。具體地,第一非Java程序可以選擇反編譯難度比Java高的程序,如優選為C或C++程序。License文件的解密算法如果沒有被他人獲取到,則他人無法通過篡改License文件達到非法使用Java軟體的目的。
[0067]具體在應用時,License文件中可存放有加密後的Java軟體的許可信息,許可信息可以包含使用功能、時間的許可信息。常見的許可信息如Mac地址、License的有效期。Mac地址在系統中可以被用來驗證Java是否被移動到其他機器上,License的有效期用來控制Java軟體的使用周期。由於Mac地址是可以修改的,License的有效期在修改了伺服器的時間之後,這些驗證就失效了,所以在這些常用的許可信息上面加上了一些Java軟體業務功能的控制,比如型號、廠家的控制,可以進行業務功能的控制驗證。
[0068]在某些實施例中,Java軟體用於終端管理(如管理終端的數量、管理終端的接入)業務,則License文件包括控制終端型號、控制終端廠家、控制終端生成的條數等許可信息。Java軟體通過第一外部程序解密License文件取得許可信息並放到緩存中,而後Java軟體可以通過從緩存讀取上述解密後的許可信息,經過判斷即可實現對Java軟體的授權控制。如上述Java軟體用於終端管理的實施例中,Java軟體解密得到控制終端型號和控制終端廠家,然後與預添加的控制終端的型號和廠家進行比較,如果是一致的可以添加,不一致就拒絕添加,即實現了對Java軟體的終端數量的授權控制。同樣在上述Java軟體用於終端管理的實施例中,Java軟體解密也會得到控制終端生成的條數,而後Java軟體當新增的控制終端數量大於控制終端生成的條數時,則拒絕新增控制終端,否則允許添加。而在另一些實施例中,License文件包含了加密後的軟體使用是否合法的數據,Java軟體在License文件解密後可進入步驟S103:判斷License文件解密後的數據是否合法,如果License文件解密後的數據是合法,則進入步驟S104繼續執行Java軟體,否則停止執行Java軟體,避免了非授權用戶對Java軟體的使用。
[0069]當第一外部程序為第一已加密的Java程序時,其中,對Java軟體的加密具有多種實施方式,優選地,可以採用加密的class類。由於Java虛擬機自帶的類加載器並沒辦法對加密的class類進行加載,則需要使用自定義的類加載器進行解密並加載。則License文件解密的具體步驟為:調用自定義類加載器解密並加載已加密的第一 class類,而後使用解密後的第一 class類對已加密的License文件進行License文件解密。在某些實施例中,自定義的類加載器可以通過如下步驟實現:首先自定義一個類加載器繼承自ClassLoader (類加載器),重寫1adClass (加載類)方法如下:先從系統緩衝區中判斷是否有class類,如果class類在系統緩衝區中,就不必再次裝載,直接返回class類;如果第一 class類不在系統緩衝區中,則讀取並判斷第一 class類是否需要解密,如果需要解密則進行解密並將放置到系統緩衝區後返回class對象,如果不需要解密則調用默認的類裝載器裝載class類並返回class對象。進一步地,如果以上操作都不成功,嘗試用默認的ClassLoader 裝入它。
[0070]當第一外部程序為第一非Java程序時,可以使用JNI接口調用第一非Java程序對已加密的License文件進行License文件解密。JNI接口可以使得Java軟體方便地與其他語言程序進行通信。
[0071]為了避免解密非法的License文件(如License文件已損壞或者被篡改),進一步地,如圖1所示,本發明在License文件解密步驟之前還包括License文件合法性驗證步驟SOOl:對License文件進行合法性驗證,在步驟S002判斷驗證結果是否合法,如果驗證結果為合法,則繼續進行License文件解密步驟SlOl ;否則不進行License文件解密步驟SlOl,同時可以彈出非法提示或結束Java軟體的運行。
[0072]對License文件的合法性驗證可以使用Java軟體本身進行驗證也可以使用第二外部程序進行合法性驗證。優選為調用第二外部程序對License文件進行合法性驗證,第二外部程序為第二已加密的Java程序或者為第二非Java程序,可以保證合法性驗證的安全。
[0073]第二外部程序的實現過程可以參照上述對第一外部程序的說明,如第二非Java程序同樣優選為C或C++程序。第二外部程序可以與第一外部程序同為已加密的Java程序或者同為非Java程序,此時第二外部程序可以與第一外部程序可以為同一個外部程序,在一個程序上實現多種功能是本領域技術人員常用的技術手段;第二外部程序與第一外部程序也可以其中一個外部程序為已加密的Java程序而另一個為非Java程序。
[0074]當所述的第二外部程序為第二已加密的Java程序時,則調用第二外部程序對License文件進行合法性驗證的具體步驟為:調用自定義類加載器解密並加載已加密的第二 class類,而後使用解密後的第二 class類對License文件進行合法性驗證。
[0075]當所述的第二外部程序為第二非Java程序時,則調用第二外部程序對License文件進行合法性驗證的具體步驟為:使用JNI接口調用第二非Java程序對License文件進行合法性驗證。
[0076]對License文件的合法性驗證的具體實現方式可以採用常見的特徵碼驗證方式,即在License文件中的某一段特徵碼數據進行合法性驗證,如果這一段特徵碼符合某種預設的規律則認為License文件是合法的,否則認為License文件是非法的。優選地可以採用公鑰和數字籤名進行合法性驗證。具體驗證時,可直接調用C或C++程序的api進行合法性驗證。由於採用公鑰和數字籤名這步驟是在調用第二外部程序或Java軟體之後進行的,即發生在不同時刻,則採用公鑰和數字籤名的驗證方式和使用第二外部程序進行驗證可以組合使用。
[0077]License文件、公鑰和數字籤名的生成過程可以採用如下步驟:首先步驟S201:定義License文件。License文件包含有Java軟體的許可信息(如設定與Java軟體業務關聯的屬性信息,為後續驗證比較做準備)。License文件可以採用普通的java properties文件的定義格式(如:license.properties)。而後步驟S202使用加密算法將License文件進行加密,生成一個加密過的License文件,這個時候打開裡面是亂碼的,無法直接得到License文件的許可信息。加密後進入步驟S203:生成公鑰(public, key)和私鑰(private, key)對,這一步可以通過Java程序進行生成,生成公私鑰對的種子可以自定義,注意要保護好私鑰,不能洩露。最後進行步驟S204使用私鑰對加密過的License文件進行數據籤名,生成數據籤名文件(如:名為signature, sgn)。在將Java軟體發給用戶使用時,只需要將加密過的license文件和數據籤名文件signature, sgn,公鑰一起發送給用戶即可。以上的生成步驟都可以通過本地程序完成,無需發布給對方。
[0078]以及本發明為了保護Java軟體,還提供一種保護Java軟體的裝置,本裝置常見的形式可以為計算機或者嵌入式智能設備。具體地,如圖3和圖4所示,包括如下模塊:第一解密模塊1:用於調用第一外部程序對已加密的License文件進行License文件解密得到License文件解密後數據,以及緩存寫入模塊2:用於將License文件解密後的數據寫入到緩存中。其中,第一外部程序為第一已加密的Java程序或者為第一非Java程序,第一非Java程序優選為C或C++程序。利用外部程序增加了反編譯和破解的難度,從而使得破解者無法得知License文件的解密算法,而無法對License文件進行篡改,達到了保護Java軟體的目的。
[0079]具體地應用中,本裝置可包括數據讀取模塊3和判斷模塊4,其中:讀取模塊3用於讀取緩存中的License文件解密後的數據。判斷模塊4用於判斷License文件解密後的數據是否合法,如果License文件解密後的數據是合法,則繼續執行Java軟體,否則停止執行Java軟體。通過判斷模塊4的判讀與決定是否執行Java軟體達到了對Java軟體使用的限制,使得Java軟體可以被按照License文件的授權信息被規範地使用。
[0080]在優選實施例中,當所述的第一外部程序為第一已加密的Java程序時,如圖3所示,則第一解密模塊I包括如下單元:類加載單元10:用於調用自定義類加載器解密並加載已加密的第一 class類;類解密單元11:用於使用解密後的第一 class類對已加密的License文件進行License文件解密。使用加密的第一 class類可實現對License文件解密過程的隱藏,避免License文件解密算法的洩露。
[0081]在另一優選實施例中,當所述的第一外部程序為第一非Java程序時,如圖4所示,則第一解密模塊包括如下單元JNI接口調用單元12:用於使用JNI接口調用第一非Java程序;非Java程序解密單元13:用於對已加密的License文件進行License文件解密。通過JNI接口方便了第一解密模塊I對第一外部程序的調用。
[0082]為了驗證License文件為正常的,未被篡改或破壞的文件,本裝置還包括合法性驗證模塊5:用於對License文件進行合法性驗證,如果驗證結果為合法,則使能第一解密模塊I,否則不使能第一解密模塊I。
[0083]合法性驗證模塊5可以調用Java軟體進行合法性驗證,優選的合法性驗證模塊5調用第二外部程序進行合法性驗證。則如圖3所示,合法性驗證模塊具體包括如下單元:夕卜部程序調用單元50:用於調用第二外部程序;合法性驗證單元51:用於對License文件進行合法性驗證,其中:第二外部程序為第二已加密的Java程序或者為第二非Java程序,第二非Java程序優選為C或C++程序。[0084]如圖3所示,在優選實施例中,當所述的第二外部程序為第二已加密的Java程序時,則外部程序調用單元包括如下子單元:類加載子單元500:用於調用自定義類加載器解密並加載已加密的第二 class類。而後外部程序調用單元50對第二 class類進行調用,合法性驗證單元51即可進行合法性驗證。
[0085]如圖4所示,在另一優選實施例中,當所述的第二外部程序為第二非Java程序時,則外部程序調用單元包括如下子單元JNI接口調用子單元501:用於使用JNI接口調用第二非Java程序。而後外部程序調用單元50對第二非Java程序進行調用,合法性驗證單元51即可進行合法性驗證。
[0086]合法性驗證單元51可以是特徵碼合法性驗證單元,即用於對License文件中的某一段特徵碼進行規律性驗證。優選地,合法性驗證單元51具體為公鑰合法性驗證單元51:用於使用公鑰和數字籤名進行合法性驗證。
[0087]特別地,本裝置的各個模塊和單元可以集成在單個運算模塊中,也可以分步在多個運算模塊上,具體地,單個運算模塊或各個運算模塊可以由通用的運算模塊執行存儲在存儲模塊的程序代碼來實現,本發明並限定任何特定的模塊。
[0088]以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發明的專利保護範圍內。
【權利要求】
1.一種保護Java軟體的方法,其特徵在於:包括如下步驟: 調用第一外部程序對已加密的License文件進行License文件解密,將License文件解密後的數據寫入到緩存中,所述的第一外部程序為第一已加密的Java程序或者為第一非Java程序。
2.根據權利要求1所述的保護Java軟體的方法,其特徵在於:當所述的第一外部程序為第一已加密的Java程序時,則License文件解密的具體步驟為:調用自定義類加載器解密並加載已加密的第一 class類,而後使用解密後的第一 class類對已加密的License文件進行License文件解密。
3.根據權利要求1所述的保護Java軟體的方法,其特徵在於:當所述的第一外部程序為第一非Java程序時,則License文件解密的具體步驟為:使用JNI接口調用第一非Java程序對已加密的License文件進行License文件解密。
4.根據權利要求1所述的保護Java軟體的方法,其特徵在於:在License文件解密步驟之前還包括License文件合法性驗證步驟:對License文件進行合法性驗證,如果驗證結果為合法,則繼續進行License文件解密步驟,否則不進行License文件解密步驟。
5.根據權利要求4所述的保護Java軟體的方法,其特徵在於:所述對License文件進行合法性驗證具體為:調用第二外部程序對License文件進行合法性驗證,所述的第二外部程序為第二已加密的Java程序或者為第二非Java程序。
6.根據權利要求5所述的保護Java軟體的方法,其特徵在於:當所述的第二外部程序為第二已加密的Jav a程序時,則調用第二外部程序對License文件進行合法性驗證的具體步驟為:調用自定義類加載器解密並加載已加密的第二 class類,而後使用解密後的第二class類對License文件進行合法性驗證。
7.根據權利要求5所述的保護Java軟體的方法,其特徵在於:當所述的第二外部程序為第二非Java程序時,則調用第二外部程序對License文件進行合法性驗證的具體步驟為:使用JNI接口調用第二非Java程序對License文件進行合法性驗證。
8.根據權利要求5到7任一項所述的保護Java軟體的方法,其特徵在於:所述的第二非Java程序為C或C++程序。
9.根據權利要求4到7任一項所述的保護Java軟體的方法,其特徵在於:所述合法性驗證的具體步驟為:使用公鑰和數字籤名進行合法性驗證。
10.根據權利要求1到7任一項所述的保護Java軟體的方法,其特徵在於:所述的第一非Java程序為C或C++程序。
11.根據權利要求1到7任一項所述的保護Java軟體的方法,其特徵在於:讀取緩存中的License文件解密後的數據,判斷License文件解密後的數據是否合法,如果License文件解密後的數據是合法,則繼續執行Java軟體,否則停止執行Java軟體。
12.—種保護Java軟體的裝置,其特徵在於:包括如下模塊: 第一解密模塊:用於調用第一外部程序對已加密的License文件進行License文件解密,得到License文件解密後數據; 緩存寫入模塊:用於將License文件解密後的數據寫入到緩存中; 其中,所述的第一外部程序為第一已加密的Java程序或者為第一非Java程序。
13.根據權利要求12所述的保護Java軟體的裝置,其特徵在於:當所述的第一外部程序為第一已加密的Java程序時,則第一解密模塊包括如下單元: 類加載單元:用於調用自定義類加載器解密並加載已加密的第一 class類; 類解密單元:用於使用解密後的第一 class類對已加密的License文件進行License文件解密。
14.根據權利要求12所述的保護Java軟體的裝置,其特徵在於:當所述的第一外部程序為第一非Java程序時,則第一解密模塊包括如下單元: JNI接口調用單元:用於使用JNI接口調用第一非Java程序; 非Java程序解密單元:用於對已加密的License文件進行License文件解密。
15.根據權利要求12所述的保護Java軟體的裝置,其特徵在於:還包括合法性驗證模塊:用於對License文件進行合法性驗證,如果驗證結果為合法,則使能第一解密模塊,否則不使能第一解密模塊。
16.根據權利要求15所述的保護Java軟體的裝置,其特徵在於:所述合法性驗證模塊具體包括如下單元: 外部程序調用單元:用於調用第二外部程序; 合法性驗證單元:用於對License文件進行合法性驗證 其中:所述的第二外部程序為第二已加密的Java程序或者為第二非Java程序。
17.根據權利要求16所述的保護Java軟體的裝置,其特徵在於:當所述的第二外部程序為第二已加密的Java程序時,則外部程序調用單元包括如下子單元: 類加載子單元:用於調用自定義類加載器解密並加載已加密的第二 class類。
18.根據權利要求16所述的保護Java軟體的裝置,其特徵在於:當所述的第二外部程序為第二非Java程序時,則外部程序調用單元包括如下子單元: JNI接口調用子單元:用於使用JNI接口調用第二非Java程序。
19.根據權利要求16到18任一項所述的保護Java軟體的裝置,其特徵在於:所述的第二非Java程序為C或C++程序。
20.根據權利要求15到18任一項所述的保護Java軟體的裝置,其特徵在於:所述合法性驗證單元具體為公鑰合法性驗證單元:用於使用公鑰和數字籤名進行合法性驗證。
21.根據權利要求12到18任一項所述的保護Java軟體的裝置,其特徵在於:所述的第一非Java程序為C或C++程序。
22.根據權利要求12到18任一項所述的保護Java軟體的裝置,其特徵在於:還包括數據讀取模塊和判斷模塊,其中: 讀取模塊用於讀取緩存中的License文件解密後的數據; 判斷模塊用於判斷License文件解密後的數據是否合法,如果License文件解密後的數據是合法,則繼續執行Java軟體,否則停止執行Java軟體。
【文檔編號】G06F21/14GK103971034SQ201410167824
【公開日】2014年8月6日 申請日期:2014年4月24日 優先權日:2014年4月24日
【發明者】姚祥健, 陳瑞兵 申請人:福建聯迪商用設備有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀