[發(fā)明專(zhuān)利]應(yīng)用脫殼方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201610796499.0 | 申請(qǐng)日: | 2016-08-31 |
| 公開(kāi)(公告)號(hào): | CN107784204B | 公開(kāi)(公告)日: | 2021-10-22 |
| 發(fā)明(設(shè)計(jì))人: | 桂敬文;位廣軍;陳鑫;馬家智;王博通;王曉卿;李想想;常磊;張宇龍;秦松;張治;李新開(kāi);唐友誼 | 申請(qǐng)(專(zhuān)利權(quán))人: | 百度在線(xiàn)網(wǎng)絡(luò)技術(shù)(北京)有限公司 |
| 主分類(lèi)號(hào): | G06F21/12 | 分類(lèi)號(hào): | G06F21/12 |
| 代理公司: | 北京英賽嘉華知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11204 | 代理人: | 王達(dá)佐;馬曉亞 |
| 地址: | 100085 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 應(yīng)用 脫殼 方法 裝置 | ||
本申請(qǐng)公開(kāi)了應(yīng)用脫殼方法和裝置。該方法的一具體實(shí)施方式包括:確定已加載在內(nèi)存中的加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的位置,加殼應(yīng)用為在源代碼中加入防止反編譯的代碼的應(yīng)用;在解析可執(zhí)行文件的文件內(nèi)容之前,基于位置,復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄。從而獲取到加殼應(yīng)用的可執(zhí)行文件完整的可執(zhí)行文件的文件內(nèi)容,完成加殼應(yīng)用的脫殼。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)領(lǐng)域,具體涉及領(lǐng)域,尤其涉及應(yīng)用脫殼方法和裝置。
背景技術(shù)
隨著互聯(lián)網(wǎng)的快速發(fā)展,應(yīng)用的類(lèi)型也越來(lái)越豐富。在應(yīng)用發(fā)布時(shí),通常利用加殼技術(shù)在應(yīng)用的外部加入一段代碼,保護(hù)應(yīng)用的源代碼不被非法修改或反編譯。在對(duì)加殼的應(yīng)用進(jìn)行分析時(shí),需要進(jìn)行脫殼,即去除加入的代碼,獲取應(yīng)用的可執(zhí)行文件的文件內(nèi)容。目前,通常采用的方式為:通過(guò)hook方式進(jìn)行脫殼,即通過(guò)鉤取加載可執(zhí)行文件的函數(shù)來(lái)獲取可執(zhí)行文件的信息。
然而,當(dāng)采用上述方式對(duì)加殼的應(yīng)用進(jìn)行脫殼時(shí),加殼的應(yīng)用可以通過(guò)用于檢查進(jìn)程地址空間的模塊,發(fā)現(xiàn)被hook而不釋放可執(zhí)行文件,導(dǎo)致脫殼失敗。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┝藨?yīng)用脫殼方法和裝置,用于解決上述背景技術(shù)部分存在的技術(shù)問(wèn)題。
第一方面,本申請(qǐng)?zhí)峁┝藨?yīng)用脫殼方法,該方法包括:確定已加載在內(nèi)存中的加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的位置,加殼應(yīng)用為在源代碼中加入防止反編譯的代碼的應(yīng)用;在解析可執(zhí)行文件的文件內(nèi)容之前,基于位置,復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄。
在一些實(shí)施例中,操作系統(tǒng)為安卓系統(tǒng),可執(zhí)行文件包括:dex文件、odex文件。
在一些實(shí)施例中,在確定已加載在內(nèi)存中的加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的位置之前,還包括:確定加殼應(yīng)用運(yùn)行在的操作系統(tǒng)的動(dòng)態(tài)鏈接庫(kù)中用于解析加殼應(yīng)用的可執(zhí)行文件的函數(shù)的內(nèi)存地址;在內(nèi)存地址之前,加入用于復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄的代碼。
在一些實(shí)施例中,確定已加載在內(nèi)存中的加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的位置包括:獲取用于解析加殼應(yīng)用的可執(zhí)行文件的函數(shù)的輸入?yún)?shù),輸入?yún)?shù)包括:加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的內(nèi)存地址的指針;基于指針,確定加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的內(nèi)存地址。
在一些實(shí)施例中,還包括:在加入用于復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄的代碼之后,重新編譯動(dòng)態(tài)鏈接庫(kù)。
第二方面,本申請(qǐng)?zhí)峁┝藨?yīng)用脫殼裝置,該裝置包括:確定單元,配置用于確定已加載在內(nèi)存中的加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的位置,加殼應(yīng)用為在源代碼中加入防止反編譯的代碼的應(yīng)用;復(fù)制單元,配置用于在解析可執(zhí)行文件的文件內(nèi)容之前,基于位置,復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄。
在一些實(shí)施例中,操作系統(tǒng)為安卓系統(tǒng),可執(zhí)行文件包括:dex文件、odex文件。
在一些實(shí)施例中,裝置還包括:地址確定單元,配置用于在確定已加載在內(nèi)存中的加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的位置之前,確定加殼應(yīng)用運(yùn)行在的操作系統(tǒng)的動(dòng)態(tài)鏈接庫(kù)中用于解析加殼應(yīng)用的可執(zhí)行文件的函數(shù)的內(nèi)存地址;加入單元,配置用于在內(nèi)存地址之前,加入用于復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄的代碼。
在一些實(shí)施例中,確定單元包括:參數(shù)獲取子單元,配置用于獲取用于解析加殼應(yīng)用的可執(zhí)行文件的函數(shù)的輸入?yún)?shù),輸入?yún)?shù)包括:加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的內(nèi)存地址的指針;內(nèi)存地址確定子單元,配置用于基于指針,確定加殼應(yīng)用的可執(zhí)行文件的文件內(nèi)容的內(nèi)存地址。
在一些實(shí)施例中,裝置還包括:編譯單元,配置用于在加入用于復(fù)制可執(zhí)行文件的文件內(nèi)容至預(yù)設(shè)目錄的代碼之后,重新編譯動(dòng)態(tài)鏈接庫(kù)。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于百度在線(xiàn)網(wǎng)絡(luò)技術(shù)(北京)有限公司,未經(jīng)百度在線(xiàn)網(wǎng)絡(luò)技術(shù)(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610796499.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:清剪塔克衣片用的工裝及方法
- 下一篇:一種大力矩制動(dòng)蹄
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
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è)備,如鍵盤(pán)或顯示器
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ò)程
- 在線(xiàn)應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線(xiàn)應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場(chǎng)的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場(chǎng)
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測(cè)方法及應(yīng)用檢測(cè)裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線(xiàn)程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 光源裝置、照明裝置、液晶裝置和電子裝置
- 預(yù)測(cè)裝置、編輯裝置、逆預(yù)測(cè)裝置、解碼裝置及運(yùn)算裝置
- 圖像形成裝置、定影裝置、遮光裝置以及保持裝置
- 打印裝置、讀取裝置、復(fù)合裝置以及打印裝置、讀取裝置、復(fù)合裝置的控制方法
- 電子裝置、光盤(pán)裝置、顯示裝置和攝像裝置
- 光源裝置、照明裝置、曝光裝置和裝置制造方法
- 用戶(hù)裝置、裝置對(duì)裝置用戶(hù)裝置、后端裝置及其定位方法
- 遙控裝置、通信裝置、可變裝置及照明裝置
- 透鏡裝置、攝像裝置、處理裝置和相機(jī)裝置
- 抖動(dòng)校正裝置、驅(qū)動(dòng)裝置、成像裝置、和電子裝置





