[發(fā)明專利]Native API函數(shù)重構(gòu)方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201310455970.6 | 申請(qǐng)日: | 2013-09-29 |
| 公開(公告)號(hào): | CN103530552A | 公開(公告)日: | 2014-01-22 |
| 發(fā)明(設(shè)計(jì))人: | 馮世杰 | 申請(qǐng)(專利權(quán))人: | 廣州華多網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F21/51 | 分類號(hào): | G06F21/51 |
| 代理公司: | 北京三高永信知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11138 | 代理人: | 張耀光 |
| 地址: | 510655 廣東省廣州市黃*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | native api 函數(shù) 方法 裝置 | ||
1.一種Native?API函數(shù)重構(gòu)方法,其特征在于,所述方法,包括:
獲取加載函數(shù)的系統(tǒng)調(diào)用號(hào),所述加載函數(shù)用于將動(dòng)態(tài)鏈接庫(kù)NTDLL.DLL加載至內(nèi)存,所述NTDLL.DLL中包含Native?API函數(shù);
將每個(gè)所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)分別拷貝至與所述加載函數(shù)對(duì)應(yīng)的各個(gè)自定義加載函數(shù)的代碼體中,所述自定義加載函數(shù)位于用于執(zhí)行應(yīng)用程序的自定義代碼段中,所述自定義加載函數(shù)的代碼體中的初始代碼與所述加載函數(shù)中的代碼相同;
根據(jù)包含有所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義加載函數(shù)將所述NTDLL.DLL加載至所述內(nèi)存的指定位置;
利用位于所述指定位置的NTDLL.DLL中的Native?API函數(shù)中的代碼分別重構(gòu)所述自定義代碼段內(nèi)與所述Native?API函數(shù)對(duì)應(yīng)的各個(gè)自定義Native?API函數(shù)中的代碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述根據(jù)包含有所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義加載函數(shù)將所述NTDLL.DLL加載至所述內(nèi)存的指定位置之前,還包括:
獲取分配函數(shù)的系統(tǒng)調(diào)用號(hào),所述分配函數(shù)用于為所述加載函數(shù)分配內(nèi)存讀寫執(zhí)行權(quán)限;
將所述分配函數(shù)的系統(tǒng)調(diào)用號(hào)拷貝到所述自定義分配函數(shù)的代碼體內(nèi),所述自定義分配函數(shù)位于所述自定義代碼段中;
利用包含有所述分配函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義分配函數(shù)為所述自定義加載函數(shù)分配內(nèi)存讀寫執(zhí)行權(quán)限。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)包含有所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義加載函數(shù)將所述NTDLL.DLL加載至所述內(nèi)存的指定位置之前,還包括:
將用于調(diào)用內(nèi)核函數(shù)的公用代碼段拷貝到所述自定義代碼段中;
所述根據(jù)包含有所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義加載函數(shù)將所述NTDLL.DLL加載至所述內(nèi)存的指定位置,包括:
根據(jù)包含有所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義加載函數(shù)以及所述自定義代碼段中的所述公用代碼段將所述NTDLL.DLL加載至所述內(nèi)存的指定位置。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述將用于調(diào)用內(nèi)核函數(shù)的公用代碼段拷貝到所述自定義代碼段中之前,還包括:
遍歷內(nèi)存中NTDLL的導(dǎo)出表,獲取指定的測(cè)試函數(shù)的起始地址;
根據(jù)所述測(cè)試函數(shù)的起始地址調(diào)用所述測(cè)試函數(shù)以獲取系統(tǒng)類型;
所述將用于調(diào)用內(nèi)核函數(shù)的公用代碼段拷貝到所述自定義代碼段中,包括:
根據(jù)所述系統(tǒng)類型將用于調(diào)用與所述系統(tǒng)類型對(duì)應(yīng)的內(nèi)核函數(shù)的公用代碼段拷貝至所述自定義代碼段中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述系統(tǒng)類型為64位WOW64模式、32位或64位,所述根據(jù)所述系統(tǒng)類型將用于調(diào)用與所述系統(tǒng)類型對(duì)應(yīng)的內(nèi)核函數(shù)的公用代碼段拷貝至所述自定義代碼段中,包括:
當(dāng)所述系統(tǒng)類型為64位WOW64模式時(shí),將用于調(diào)用64位WOW64模式的內(nèi)核函數(shù)的公用代碼段拷貝到所述自定義代碼段中的第一指定位置;
或者,
當(dāng)所述系統(tǒng)類型為32位時(shí),將用于調(diào)用32位的內(nèi)核函數(shù)的公用代碼段拷貝到所述自定義代碼段中的第二指定位置;
或者,
當(dāng)所述系統(tǒng)類型為64位時(shí),將用于調(diào)用64位的內(nèi)核函數(shù)的公用代碼段拷貝到所述自定義代碼段中的第三指定位置。
6.一種Native?API函數(shù)重構(gòu)裝置,其特征在于,所述裝置,包括:
第一獲取模塊,用于獲取加載函數(shù)的系統(tǒng)調(diào)用號(hào),所述加載函數(shù)用于將動(dòng)態(tài)鏈接庫(kù)NTDLL.DLL加載至內(nèi)存,所述NTDLL.DLL中包含Native?API函數(shù);
第一拷貝模塊,用于將每個(gè)所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)分別拷貝至與所述加載函數(shù)對(duì)應(yīng)的各個(gè)自定義加載函數(shù)的代碼體中,所述自定義加載函數(shù)位于用于執(zhí)行應(yīng)用程序的自定義代碼段中,所述自定義加載函數(shù)的代碼體中的初始代碼與所述加載函數(shù)中的代碼相同;
加載模塊,用于根據(jù)包含有所述加載函數(shù)的系統(tǒng)調(diào)用號(hào)的所述自定義加載函數(shù)將所述NTDLL.DLL加載至所述內(nèi)存的指定位置;
重構(gòu)模塊,用于利用位于所述指定位置的NTDLL.DLL中的Native?API函數(shù)中的代碼分別重構(gòu)所述自定義代碼段內(nèi)與所述Native?API函數(shù)對(duì)應(yīng)的各個(gè)自定義Native?API函數(shù)中的代碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣州華多網(wǎng)絡(luò)科技有限公司,未經(jīng)廣州華多網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310455970.6/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 一種NativeAPI函數(shù)重構(gòu)方法和裝置
- Android系統(tǒng)中native層調(diào)用Java層API的方法和裝置
- 一種實(shí)現(xiàn)Hybrid App的HTML與Native交互的方法
- 一種圖片字幕顯示方法和裝置
- Android系統(tǒng)中Native層異常上報(bào)處理方法及裝置
- 一種在React Native組件之間傳遞native對(duì)象的方法和裝置
- Native代碼調(diào)用系統(tǒng)、方法及APP混合開發(fā)系統(tǒng)
- 移動(dòng)應(yīng)用中HTML與Native交互的公共數(shù)據(jù)通道的實(shí)現(xiàn)方法
- Web頁(yè)面組件與Native組件的交互方法、裝置及設(shè)備
- 應(yīng)用的React Native業(yè)務(wù)執(zhí)行方法、裝置、存儲(chǔ)介質(zhì)及終端設(shè)備
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





