[發(fā)明專利]一種探測JAVA 程序文件擾動的方法及裝置有效
| 申請?zhí)枺?/td> | 201210004813.9 | 申請日: | 2012-01-09 | 
| 公開(公告)號: | CN103198011A | 公開(公告)日: | 2013-07-10 | 
| 發(fā)明(設(shè)計(jì))人: | 馬治國;何思遠(yuǎn) | 申請(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 | 
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 | 
| 代理公司: | 北京同達(dá)信恒知識產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 郭潤湘 | 
| 地址: | 英屬開曼群島大開曼*** | 國省代碼: | 開曼群島;KY | 
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 探測 java 程序 文件 擾動 方法 裝置 | ||
1.一種探測JAVA程序文件擾動的方法,其特征在于,該方法包括:
在第一程序文件運(yùn)行過程中,根據(jù)運(yùn)行過的每個(gè)類和每個(gè)類中包括的方法得到每個(gè)類的第一類標(biāo)簽以及每個(gè)類包括的方法的第一方法標(biāo)簽;
所述第一程序文件源代碼發(fā)生變化生成第二程序文件后,掃描第二程序文件的java字節(jié)碼文件確定所述第二程序文件中包括類及每個(gè)類所包括的方法,并根據(jù)每個(gè)類和每個(gè)方法的內(nèi)容信息確定每個(gè)類的第二類標(biāo)簽以及每個(gè)類包括的每個(gè)方法的第二方法標(biāo)簽,將所述第二類標(biāo)簽和第二方法標(biāo)簽插裝到所述java字節(jié)碼文件;
將java字節(jié)碼文件中的第二類標(biāo)簽和第二方法標(biāo)簽與所述第一類標(biāo)簽和第一方法標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果確定第二程序文件相對于第一程序文件發(fā)生了擾動的類和方法。
2.如權(quán)利要求1所述的方法,其特征在于,在第一程序文件運(yùn)行過程中,根據(jù)運(yùn)行過的每個(gè)類和每個(gè)類中包括的方法得到每個(gè)類的第一類標(biāo)簽以及每個(gè)類包括的方法的第一方法標(biāo)簽,之后該方法還包括:
根據(jù)每個(gè)方法的內(nèi)容信息計(jì)算得到每個(gè)方法對應(yīng)的第一方法標(biāo)簽后,獲取所述第一方法標(biāo)簽對應(yīng)的常量池中的常數(shù),并根據(jù)所屬常數(shù)確定每個(gè)第一方法標(biāo)簽對應(yīng)的方法。
3.如權(quán)利要求1所述的方法,其特征在于,將所述第二方法標(biāo)簽插裝到所述java字節(jié)碼文件包括:
掃描java字節(jié)碼文件中的每個(gè)類,根據(jù)每個(gè)類中每個(gè)方法對應(yīng)的內(nèi)容信息生成與每個(gè)方法對應(yīng)的第二方法標(biāo)簽;
將每個(gè)類生成的多個(gè)第二方法標(biāo)簽存入對應(yīng)的數(shù)組中,并將所述數(shù)組寫入第二程序文件的java字節(jié)碼文件。
4.如權(quán)利要求1所述的方法,其特征在于,將java字節(jié)碼文件中的第二類標(biāo)簽和第二方法標(biāo)簽與所述第一類標(biāo)簽和第一方法標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果確定第二程序中相對于第一程序文件發(fā)生了擾動的類和方法包括:
將所述第一類標(biāo)簽與對應(yīng)的第二類標(biāo)簽進(jìn)行比較,如果檢測到任一第一類標(biāo)簽與對應(yīng)的第二類標(biāo)簽不相同,則確定不相同的第一類標(biāo)簽對應(yīng)的類發(fā)生了擾動;
將不相同的第二類標(biāo)簽對應(yīng)的第二方法標(biāo)簽與第一類標(biāo)簽對應(yīng)的第一方法標(biāo)簽進(jìn)行比較;如果檢測到任一第二方法標(biāo)簽與對應(yīng)的第一方法標(biāo)簽不相同,則確定不相同的第一方法標(biāo)簽對應(yīng)的方法發(fā)生了擾動;
根據(jù)類和方法擾動方式對所述類和方法的源代碼進(jìn)行處理。
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)類和方法擾動方式對所述類和方法的源代碼進(jìn)行處理包括:
如果沒有檢測到與任一第一方法標(biāo)簽對應(yīng)的第二方法標(biāo)簽,則將所述任一第二方法標(biāo)簽對應(yīng)的類及API信息保存到設(shè)定地址;
如果任一第一方法標(biāo)簽與對應(yīng)的第二方法標(biāo)簽不相同,則所述任一第二方法標(biāo)簽對應(yīng)的類及API信息保存到設(shè)定地址;
如果任一第一方法標(biāo)簽與對應(yīng)的方法標(biāo)簽相同,則將第一方法標(biāo)簽對應(yīng)方法對應(yīng)的覆蓋率信息數(shù)據(jù)復(fù)制到當(dāng)前數(shù)組中。
6.一種探測JAVA程序文件擾動的裝置,其特征在于,該裝置包括:
動態(tài)標(biāo)簽獲取模塊,用于在第一程序文件運(yùn)行過程中,根據(jù)運(yùn)行過的每個(gè)類和每個(gè)類中包括的方法得到每個(gè)類的第一類標(biāo)簽以及每個(gè)類包括的方法的第一方法標(biāo)簽;
靜態(tài)標(biāo)簽獲取模塊,用于所述程序文件源代碼發(fā)生變化生成第二程序文件后,掃描第二程序文件的java字節(jié)碼文件確定所述第二程序文件中包括類及每個(gè)類所包括的方法,并根據(jù)每個(gè)類和每個(gè)方法的內(nèi)容信息確定每個(gè)類的第二類標(biāo)簽以及每個(gè)類包括的每個(gè)方法的第二方法標(biāo)簽,將所述第二類標(biāo)簽和第二方法標(biāo)簽插裝到所述java字節(jié)碼文件;
擾動確定模塊,用于將java字節(jié)碼文件中的第二類標(biāo)簽和第二方法標(biāo)簽與所述第一類標(biāo)簽和第一方法標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果確定第二程序文件相對于第一程序文件發(fā)生了擾動的類和方法。
7.如權(quán)利要求6所述的裝置,其特征在于,所述靜態(tài)標(biāo)簽獲取模塊還用于掃描java字節(jié)碼文件中的每個(gè)類,根據(jù)每個(gè)類中每個(gè)方法對應(yīng)的內(nèi)容信息生成與每個(gè)方法對應(yīng)的第二方法標(biāo)簽;將每個(gè)類生成的多個(gè)第二方法標(biāo)簽存入對應(yīng)的數(shù)組中,并將所述數(shù)組寫入第二程序文件的java字節(jié)碼文件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210004813.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 基于支持類的標(biāo)識來下載Java應(yīng)用的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 啟動JAVA應(yīng)用的方法及裝置
- Java虛擬機(jī)的管理方法、監(jiān)控系統(tǒng)和監(jiān)控代理模塊
- 一種運(yùn)行Java程序的方法和裝置
- 一種保護(hù)java程序的方法
- Java卡的Java代碼補(bǔ)丁方法
- 一種基于中間件架構(gòu)下java棧的多線程實(shí)現(xiàn)方法
- 一種支持JAVA卡補(bǔ)丁函數(shù)的智能卡
- 一種改進(jìn)的Java卡初始化方法和Java卡
- JavaEE平臺構(gòu)建方法、JavaEE平臺及云端系統(tǒng)





