[發明專利]一種利用操作系統結構化異常處理加固java應用程序的方法無效
| 申請號: | 201010126856.5 | 申請日: | 2010-03-18 |
| 公開(公告)號: | CN101794243A | 公開(公告)日: | 2010-08-04 |
| 發明(設計)人: | 徐崢 | 申請(專利權)人: | 浪潮電子信息產業股份有限公司 |
| 主分類號: | G06F11/00 | 分類號: | G06F11/00;G06F9/44 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 利用 操作系統 結構 異常 處理 加固 java 應用程序 方法 | ||
技術領域
本發明涉及一種計算機應用技術,具體地說是一種利用操作系統結構化異常處理加固java應用程序的方法。
背景技術
隨著java技術的不斷發展,基于java技術的應用越來越多,由于其開放源代碼的特點受到了廣泛的歡迎。其特點就是標準統一,面向對象,為程序員減少了一些編程細節的處理。由于java虛擬機屏蔽了底層操作系統的差異性,使其能夠一次編譯,即可在各個平臺上正確執行。這種優勢在給用戶帶來極大便利的同時,也給有特殊需要的用戶帶來了煩惱,比如:
(1)java虛擬機出現問題,比如內存溢出,用戶無法及時得到通知。
(2)在jni調用過程中,出現未捕獲的錯誤,直接導致java虛擬機崩潰,無任何挽救措施。
綜上所述,java虛擬機對致命錯誤的處理不能滿足一部分人的需求,我們在不破壞虛擬機內部實現原理的情況下,適當對java虛擬機“加固”是很有必要的,能夠提高java應用的可靠性。
發明內容
本發明的目的是提供一種利用操作系統結構化異常處理加固java應用程序的方法。
本發明的目的是按以下方式實現的,涉及java內部實現原理,明確java虛擬機的調用方法,用戶對虛擬機的調用過程既可以使用java?sdk自帶的java程序,同時,用戶又可以自行編碼實現,根據需要調用java虛擬機,具體包括以下步驟內容:
1)設置結構化異常處理模塊,定義windows頂級異常處理捕獲器,對java虛擬機進行實時監控,在java虛擬機崩潰時保證捕獲到相關錯誤;
2)響應用戶需求,捕獲到錯誤后,根據客戶的需求執行相應的操作或簡單的終止java進程或修正參數后重啟虛擬機或將錯誤現場及時通知客戶;
3)通過修改java啟動java.exe文件,在源代碼級進行修改,重點在創建虛擬機JVM時,增加結構化異常處理代碼,進行異常捕獲,并根據預先定義的接口響應用戶自定義的處理方法,當虛擬機崩潰后,能夠按照調用者的意愿采取相應的步驟。
修改java啟動文件的源代碼,在創建虛擬機的代碼部分增加結構化異常處理代碼,為調用者提供異常處理行為接口。
本發明的優異效果是:通過修改java啟動java.exe文件,在源代碼級進行修改,重點在創建虛擬機JVM時,增加結構化異常處理代碼,進行異常捕獲,并根據預先定義的接口響應用戶自定義的處理方法,當虛擬機崩潰后,能夠按照調用者的意愿采取相應的步驟,通過修改java啟動java.exe文件實現自己的java啟動程序,同時實現對jvm在運行時起到一種“加固”的作用。
附圖說明
附圖為本發明方法的流程示意圖。
具體實施方式
參照說明書附圖對本發明的方法作以下詳細地說明。
主要包括以下步驟:
一、設置結構化異常處理模塊,定義windows頂級異常處理捕獲器,對java虛擬機進行實時監控,即可在java虛擬機崩潰時保證捕獲到相關錯誤。
二、響應用戶需求,捕獲到錯誤后,我們根據客戶的需求執行相應的操作,或簡單的終止java進程,或修正參數后重啟虛擬機或將錯誤現場及時通知客戶等。
實施例
本發明的目的是提供java應用程序的一種加固技術。
Java應用程序的崩潰通常來源于java虛擬機的內部錯誤:
(1)Java虛擬機內部程序出現bug
(2)Java虛擬機被引入的其他程序庫破壞安全保護,比如jni調用
本發明的java應用程序加固技術是通過修改java啟動程序,或者自定義java虛擬機啟動程序,使java虛擬機崩潰后能夠按照用戶的需求,采取相應的補救措施。
方式一,可以修改java?sdk提供的虛擬機調用程序來修改;
方式二,完全自定義啟動程序采用類似的方法,仍可達到相同目的。我們暫時以前者實現方式舉例說明。
以windows操作系統版本的java為例,找到java啟動程序的相關源代碼,定位到創建虛擬機部分,可以看到這段代碼并沒有進行友好性的錯誤處理,我們針對這部分代碼進行處理,可以添加結構化異常處理代碼,對創建啟動運行的虛擬機實例(以線程方式存在)進行監控,發現致命錯誤時,我們根據客戶需求進行相應的處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產業股份有限公司,未經浪潮電子信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010126856.5/2.html,轉載請聲明來源鉆瓜專利網。





