[發明專利]一種指針類型識別方法、裝置、介質和設備在審
| 申請號: | 202010566799.6 | 申請日: | 2020-06-19 |
| 公開(公告)號: | CN111813663A | 公開(公告)日: | 2020-10-23 |
| 發明(設計)人: | 劉洪凱 | 申請(專利權)人: | 北京字節跳動網絡技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京睿馳通程知識產權代理事務所(普通合伙) 11604 | 代理人: | 唐華;張文平 |
| 地址: | 100041 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 指針 類型 識別 方法 裝置 介質 設備 | ||
1.一種指針類型識別方法,其特征在于,包括:
獲取預先聲明的基準方法的實現體在內存中的長度,作為基準內存長度;
獲取所述基準方法實現體在內存映射表中的名稱,作為基準名稱;
獲取待識別的內存指針所指向的內存在內存映射表中的名稱,作為待測名稱;
當所述待測名稱與所述基準名稱匹配時,基于所述基準內存長度和所述待識別的內存指針所指向的內存位置,獲取所述待識別的內存指針所指向內存中用于標識方法所在類的內存值作為待匹配的內存值,以及,獲取所述待識別的內存指針所指向內存對應的相鄰指針所指向內存中用于標識方法所在類的內存值作為基準內存值;
當所述待匹配內存值與所述基準內存值匹配時,確定所述待識別的內存指針為方法指針。
2.如權利要求1所述的方法,其特征在于,所述獲取預先聲明的基準方法的實現體在內存中的長度,作為基準內存長度,包括:
在java層,通過反射機制獲取預注冊輔助類中第一方法對應的第一方法對象和第二方法對應的第二方法對象;
在原生層,通過轉換函數分別將所述第一方法對象轉換為第一方法指針類型對象,將所述第二方法對象轉換為第二方法指針類型對象;
根據所述第一方法指針類型對象所指向的內存的內存值和第二方法指針類型對象所指向的內存的內存值,計算基準內存的長度。
3.如權利要求2所述的方法,其特征在于,所述根據所述第一方法指針類型對象所指向的內存的內存值和第二方法指針類型對象所指向的內存的內存值,計算基準內存的長度,包括:
獲取所述第一方法指針類型對象所指向的內存的內存值和第二方法指針類型對象所指向的內存的內存值;
將所述第一方法指針類型對象所指向的內存的內存值和第二方法指針類型對象所指向的內存的內存值做差值計算,獲得基準內存的長度。
4.如權利要求2或3所述的方法,其特征在于,所述獲取所述基準方法實現體在內存映射表中的名稱,作為基準名稱,包括:
獲取第一方法指針類型對象和第二方法指針類型對象所指向內存在內存映射表中對應的名稱,記為基準方法實現體在內存映射表中的基準名稱。
5.如權利要求1所述的方法,其特征在于,所述獲取所述待識別的內存指針所指向內存對應的相鄰指針所指向內存中用于標識方法所在類的內存值作為基準內存值,包括:
獲取所述待識別的內存指針所指向內存對應的前向偏移指針所指向內存中用于標識方法所在類的內存值作為基準內存值;和/或;
獲取所述待識別的內存指針所指向內存對應的后向偏移指針所指向內存中用于標識方法所在類的內存值作為基準內存值。
6.如權利要求5所述的方法,其特征在于,所述當所述待匹配內存值與所述基準內存值匹配時,確定所述待識別的內存指針為方法指針,包括:
當所述待匹配內存值與前向偏移的基準內存值和/或后向偏移的基準內存值一致時,確定所述待識別的內存指針為方法指針。
7.如權利要求1所述的方法,其特征在于,所述用于標識方法所在類的內存值包括內存中前四個字節的內存值。
8.一種指針類型識別裝置,其特征在于,包括:
第一獲取單元,用于獲取預先聲明的基準方法的實現體在內存中的長度,作為基準內存長度;
第二獲取單元,用于獲取所述基準方法實現體在內存映射表中的名稱,作為基準名稱;
第三獲取單元,用于獲取待識別的內存指針所指向的內存在內存映射表中的名稱,作為待測名稱;
匹配單元,用于當所述待測名稱與所述基準名稱匹配時,基于所述基準內存長度和所述待識別的內存指針所指向的內存位置,獲取所述待識別的內存指針所指向內存中用于標識方法所在類的內存值作為待匹配的內存值,以及,獲取所述待識別的內存指針所指向內存對應的相鄰指針所指向內存中用于標識方法所在類的內存值作作為基準內存值;
確定單元,用于當所述待匹配內存值與所述基準內存值匹配時,確定所述待識別的內存指針為方法指針。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京字節跳動網絡技術有限公司,未經北京字節跳動網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010566799.6/1.html,轉載請聲明來源鉆瓜專利網。





